package de.thwildau.tm.moses.thrift.ui.contentassist.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
import de.thwildau.tm.moses.thrift.services.ThriftGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class InternalThriftParser extends AbstractInternalContentAssistParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_LONG", "RULE_STRING", "RULE_ID", "RULE_HEX", "RULE_DOUBLE", "RULE_SL_COMMENT", "RULE_NUMBER", "RULE_INT", "RULE_ML_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'*'", "'required'", "'optional'", "','", "';'", "'bool'", "'byte'", "'i16'", "'i32'", "'i64'", "'double'", "'string'", "'binary'", "'slist'", "'false'", "'true'", "'include'", "'cpp_include'", "'namespace'", "'php_namespace'", "'xsd_namespace'", "'const'", "'='", "'typedef'", "'('", "')'", "'enum'", "'{'", "'}'", "'senum'", "'struct'", "'xsd_all'", "'union'", "'exception'", "'service'", "'extends'", "'xsd_optional'", "'xsd_nillable'", "'xsd_attrs'", "':'", "'throws'", "'map'", "'<'", "'>'", "'set'", "'list'", "'cpp_type'", "']'", "'['", "'.'", "'oneway'", "'void'"
    };
    public static final int RULE_ID=6;
    public static final int T__66=66;
    public static final int T__64=64;
    public static final int T__29=29;
    public static final int T__65=65;
    public static final int T__28=28;
    public static final int T__62=62;
    public static final int T__27=27;
    public static final int T__63=63;
    public static final int T__26=26;
    public static final int T__25=25;
    public static final int T__24=24;
    public static final int T__23=23;
    public static final int T__22=22;
    public static final int RULE_ANY_OTHER=14;
    public static final int T__21=21;
    public static final int T__20=20;
    public static final int T__61=61;
    public static final int T__60=60;
    public static final int EOF=-1;
    public static final int T__55=55;
    public static final int T__56=56;
    public static final int T__19=19;
    public static final int T__57=57;
    public static final int RULE_HEX=7;
    public static final int T__58=58;
    public static final int T__16=16;
    public static final int T__51=51;
    public static final int T__15=15;
    public static final int T__52=52;
    public static final int T__18=18;
    public static final int T__53=53;
    public static final int T__17=17;
    public static final int T__54=54;
    public static final int RULE_NUMBER=10;
    public static final int T__59=59;
    public static final int RULE_INT=11;
    public static final int T__50=50;
    public static final int T__42=42;
    public static final int T__43=43;
    public static final int T__40=40;
    public static final int T__41=41;
    public static final int T__46=46;
    public static final int T__47=47;
    public static final int T__44=44;
    public static final int T__45=45;
    public static final int RULE_LONG=4;
    public static final int T__48=48;
    public static final int T__49=49;
    public static final int RULE_SL_COMMENT=9;
    public static final int RULE_DOUBLE=8;
    public static final int RULE_ML_COMMENT=12;
    public static final int T__30=30;
    public static final int T__31=31;
    public static final int RULE_STRING=5;
    public static final int T__32=32;
    public static final int T__33=33;
    public static final int T__34=34;
    public static final int T__35=35;
    public static final int T__36=36;
    public static final int T__37=37;
    public static final int T__38=38;
    public static final int T__39=39;
    public static final int RULE_WS=13;

    // delegates
    // delegators


        public InternalThriftParser(TokenStream input) {
            this(input, new RecognizerSharedState());
        }
        public InternalThriftParser(TokenStream input, RecognizerSharedState state) {
            super(input, state);
             
        }
        

    public String[] getTokenNames() { return InternalThriftParser.tokenNames; }
    public String getGrammarFileName() { return "../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g"; }


     
     	private ThriftGrammarAccess grammarAccess;
     	
        public void setGrammarAccess(ThriftGrammarAccess grammarAccess) {
        	this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected Grammar getGrammar() {
        	return grammarAccess.getGrammar();
        }
        
        @Override
        protected String getValueForTokenName(String tokenName) {
        	return tokenName;
        }




    // $ANTLR start "entryRuleThrift"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:60:1: entryRuleThrift : ruleThrift EOF ;
    public final void entryRuleThrift() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:61:1: ( ruleThrift EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:62:1: ruleThrift EOF
            {
             before(grammarAccess.getThriftRule()); 
            pushFollow(FOLLOW_ruleThrift_in_entryRuleThrift61);
            ruleThrift();

            state._fsp--;

             after(grammarAccess.getThriftRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleThrift68); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleThrift"


    // $ANTLR start "ruleThrift"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:69:1: ruleThrift : ( ( rule__Thrift__Group__0 ) ) ;
    public final void ruleThrift() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:73:2: ( ( ( rule__Thrift__Group__0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:74:1: ( ( rule__Thrift__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:74:1: ( ( rule__Thrift__Group__0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:75:1: ( rule__Thrift__Group__0 )
            {
             before(grammarAccess.getThriftAccess().getGroup()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:76:1: ( rule__Thrift__Group__0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:76:2: rule__Thrift__Group__0
            {
            pushFollow(FOLLOW_rule__Thrift__Group__0_in_ruleThrift94);
            rule__Thrift__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getThriftAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleThrift"


    // $ANTLR start "entryRuleHeader"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:88:1: entryRuleHeader : ruleHeader EOF ;
    public final void entryRuleHeader() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:89:1: ( ruleHeader EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:90:1: ruleHeader EOF
            {
             before(grammarAccess.getHeaderRule()); 
            pushFollow(FOLLOW_ruleHeader_in_entryRuleHeader121);
            ruleHeader();

            state._fsp--;

             after(grammarAccess.getHeaderRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleHeader128); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleHeader"


    // $ANTLR start "ruleHeader"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:97:1: ruleHeader : ( ( rule__Header__Alternatives ) ) ;
    public final void ruleHeader() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:101:2: ( ( ( rule__Header__Alternatives ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:102:1: ( ( rule__Header__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:102:1: ( ( rule__Header__Alternatives ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:103:1: ( rule__Header__Alternatives )
            {
             before(grammarAccess.getHeaderAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:104:1: ( rule__Header__Alternatives )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:104:2: rule__Header__Alternatives
            {
            pushFollow(FOLLOW_rule__Header__Alternatives_in_ruleHeader154);
            rule__Header__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getHeaderAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleHeader"


    // $ANTLR start "entryRuleInclude"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:116:1: entryRuleInclude : ruleInclude EOF ;
    public final void entryRuleInclude() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:117:1: ( ruleInclude EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:118:1: ruleInclude EOF
            {
             before(grammarAccess.getIncludeRule()); 
            pushFollow(FOLLOW_ruleInclude_in_entryRuleInclude181);
            ruleInclude();

            state._fsp--;

             after(grammarAccess.getIncludeRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleInclude188); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleInclude"


    // $ANTLR start "ruleInclude"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:125:1: ruleInclude : ( ( rule__Include__Group__0 ) ) ;
    public final void ruleInclude() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:129:2: ( ( ( rule__Include__Group__0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:130:1: ( ( rule__Include__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:130:1: ( ( rule__Include__Group__0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:131:1: ( rule__Include__Group__0 )
            {
             before(grammarAccess.getIncludeAccess().getGroup()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:132:1: ( rule__Include__Group__0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:132:2: rule__Include__Group__0
            {
            pushFollow(FOLLOW_rule__Include__Group__0_in_ruleInclude214);
            rule__Include__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getIncludeAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleInclude"


    // $ANTLR start "entryRuleCppInclude"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:144:1: entryRuleCppInclude : ruleCppInclude EOF ;
    public final void entryRuleCppInclude() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:145:1: ( ruleCppInclude EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:146:1: ruleCppInclude EOF
            {
             before(grammarAccess.getCppIncludeRule()); 
            pushFollow(FOLLOW_ruleCppInclude_in_entryRuleCppInclude241);
            ruleCppInclude();

            state._fsp--;

             after(grammarAccess.getCppIncludeRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleCppInclude248); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleCppInclude"


    // $ANTLR start "ruleCppInclude"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:153:1: ruleCppInclude : ( ( rule__CppInclude__Group__0 ) ) ;
    public final void ruleCppInclude() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:157:2: ( ( ( rule__CppInclude__Group__0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:158:1: ( ( rule__CppInclude__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:158:1: ( ( rule__CppInclude__Group__0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:159:1: ( rule__CppInclude__Group__0 )
            {
             before(grammarAccess.getCppIncludeAccess().getGroup()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:160:1: ( rule__CppInclude__Group__0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:160:2: rule__CppInclude__Group__0
            {
            pushFollow(FOLLOW_rule__CppInclude__Group__0_in_ruleCppInclude274);
            rule__CppInclude__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getCppIncludeAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleCppInclude"


    // $ANTLR start "entryRuleNamespace"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:172:1: entryRuleNamespace : ruleNamespace EOF ;
    public final void entryRuleNamespace() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:173:1: ( ruleNamespace EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:174:1: ruleNamespace EOF
            {
             before(grammarAccess.getNamespaceRule()); 
            pushFollow(FOLLOW_ruleNamespace_in_entryRuleNamespace301);
            ruleNamespace();

            state._fsp--;

             after(grammarAccess.getNamespaceRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleNamespace308); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleNamespace"


    // $ANTLR start "ruleNamespace"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:181:1: ruleNamespace : ( ( rule__Namespace__Alternatives ) ) ;
    public final void ruleNamespace() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:185:2: ( ( ( rule__Namespace__Alternatives ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:186:1: ( ( rule__Namespace__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:186:1: ( ( rule__Namespace__Alternatives ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:187:1: ( rule__Namespace__Alternatives )
            {
             before(grammarAccess.getNamespaceAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:188:1: ( rule__Namespace__Alternatives )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:188:2: rule__Namespace__Alternatives
            {
            pushFollow(FOLLOW_rule__Namespace__Alternatives_in_ruleNamespace334);
            rule__Namespace__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getNamespaceAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleNamespace"


    // $ANTLR start "entryRuleDefinition"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:200:1: entryRuleDefinition : ruleDefinition EOF ;
    public final void entryRuleDefinition() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:201:1: ( ruleDefinition EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:202:1: ruleDefinition EOF
            {
             before(grammarAccess.getDefinitionRule()); 
            pushFollow(FOLLOW_ruleDefinition_in_entryRuleDefinition361);
            ruleDefinition();

            state._fsp--;

             after(grammarAccess.getDefinitionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleDefinition368); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleDefinition"


    // $ANTLR start "ruleDefinition"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:209:1: ruleDefinition : ( ( rule__Definition__Alternatives ) ) ;
    public final void ruleDefinition() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:213:2: ( ( ( rule__Definition__Alternatives ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:214:1: ( ( rule__Definition__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:214:1: ( ( rule__Definition__Alternatives ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:215:1: ( rule__Definition__Alternatives )
            {
             before(grammarAccess.getDefinitionAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:216:1: ( rule__Definition__Alternatives )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:216:2: rule__Definition__Alternatives
            {
            pushFollow(FOLLOW_rule__Definition__Alternatives_in_ruleDefinition394);
            rule__Definition__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getDefinitionAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleDefinition"


    // $ANTLR start "entryRuleConst"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:228:1: entryRuleConst : ruleConst EOF ;
    public final void entryRuleConst() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:229:1: ( ruleConst EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:230:1: ruleConst EOF
            {
             before(grammarAccess.getConstRule()); 
            pushFollow(FOLLOW_ruleConst_in_entryRuleConst421);
            ruleConst();

            state._fsp--;

             after(grammarAccess.getConstRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleConst428); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleConst"


    // $ANTLR start "ruleConst"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:237:1: ruleConst : ( ( rule__Const__Group__0 ) ) ;
    public final void ruleConst() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:241:2: ( ( ( rule__Const__Group__0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:242:1: ( ( rule__Const__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:242:1: ( ( rule__Const__Group__0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:243:1: ( rule__Const__Group__0 )
            {
             before(grammarAccess.getConstAccess().getGroup()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:244:1: ( rule__Const__Group__0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:244:2: rule__Const__Group__0
            {
            pushFollow(FOLLOW_rule__Const__Group__0_in_ruleConst454);
            rule__Const__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getConstAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleConst"


    // $ANTLR start "entryRuleTypeDef"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:256:1: entryRuleTypeDef : ruleTypeDef EOF ;
    public final void entryRuleTypeDef() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:257:1: ( ruleTypeDef EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:258:1: ruleTypeDef EOF
            {
             before(grammarAccess.getTypeDefRule()); 
            pushFollow(FOLLOW_ruleTypeDef_in_entryRuleTypeDef481);
            ruleTypeDef();

            state._fsp--;

             after(grammarAccess.getTypeDefRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleTypeDef488); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleTypeDef"


    // $ANTLR start "ruleTypeDef"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:265:1: ruleTypeDef : ( ( rule__TypeDef__Group__0 ) ) ;
    public final void ruleTypeDef() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:269:2: ( ( ( rule__TypeDef__Group__0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:270:1: ( ( rule__TypeDef__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:270:1: ( ( rule__TypeDef__Group__0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:271:1: ( rule__TypeDef__Group__0 )
            {
             before(grammarAccess.getTypeDefAccess().getGroup()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:272:1: ( rule__TypeDef__Group__0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:272:2: rule__TypeDef__Group__0
            {
            pushFollow(FOLLOW_rule__TypeDef__Group__0_in_ruleTypeDef514);
            rule__TypeDef__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getTypeDefAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleTypeDef"


    // $ANTLR start "entryRuleAnnotation"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:284:1: entryRuleAnnotation : ruleAnnotation EOF ;
    public final void entryRuleAnnotation() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:285:1: ( ruleAnnotation EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:286:1: ruleAnnotation EOF
            {
             before(grammarAccess.getAnnotationRule()); 
            pushFollow(FOLLOW_ruleAnnotation_in_entryRuleAnnotation541);
            ruleAnnotation();

            state._fsp--;

             after(grammarAccess.getAnnotationRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleAnnotation548); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleAnnotation"


    // $ANTLR start "ruleAnnotation"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:293:1: ruleAnnotation : ( ( rule__Annotation__Group__0 ) ) ;
    public final void ruleAnnotation() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:297:2: ( ( ( rule__Annotation__Group__0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:298:1: ( ( rule__Annotation__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:298:1: ( ( rule__Annotation__Group__0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:299:1: ( rule__Annotation__Group__0 )
            {
             before(grammarAccess.getAnnotationAccess().getGroup()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:300:1: ( rule__Annotation__Group__0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:300:2: rule__Annotation__Group__0
            {
            pushFollow(FOLLOW_rule__Annotation__Group__0_in_ruleAnnotation574);
            rule__Annotation__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getAnnotationAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleAnnotation"


    // $ANTLR start "entryRuleAnnotationElement"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:312:1: entryRuleAnnotationElement : ruleAnnotationElement EOF ;
    public final void entryRuleAnnotationElement() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:313:1: ( ruleAnnotationElement EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:314:1: ruleAnnotationElement EOF
            {
             before(grammarAccess.getAnnotationElementRule()); 
            pushFollow(FOLLOW_ruleAnnotationElement_in_entryRuleAnnotationElement601);
            ruleAnnotationElement();

            state._fsp--;

             after(grammarAccess.getAnnotationElementRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleAnnotationElement608); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleAnnotationElement"


    // $ANTLR start "ruleAnnotationElement"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:321:1: ruleAnnotationElement : ( ( rule__AnnotationElement__Group__0 ) ) ;
    public final void ruleAnnotationElement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:325:2: ( ( ( rule__AnnotationElement__Group__0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:326:1: ( ( rule__AnnotationElement__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:326:1: ( ( rule__AnnotationElement__Group__0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:327:1: ( rule__AnnotationElement__Group__0 )
            {
             before(grammarAccess.getAnnotationElementAccess().getGroup()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:328:1: ( rule__AnnotationElement__Group__0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:328:2: rule__AnnotationElement__Group__0
            {
            pushFollow(FOLLOW_rule__AnnotationElement__Group__0_in_ruleAnnotationElement634);
            rule__AnnotationElement__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getAnnotationElementAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleAnnotationElement"


    // $ANTLR start "entryRuleEnum"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:340:1: entryRuleEnum : ruleEnum EOF ;
    public final void entryRuleEnum() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:341:1: ( ruleEnum EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:342:1: ruleEnum EOF
            {
             before(grammarAccess.getEnumRule()); 
            pushFollow(FOLLOW_ruleEnum_in_entryRuleEnum661);
            ruleEnum();

            state._fsp--;

             after(grammarAccess.getEnumRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleEnum668); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleEnum"


    // $ANTLR start "ruleEnum"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:349:1: ruleEnum : ( ( rule__Enum__Group__0 ) ) ;
    public final void ruleEnum() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:353:2: ( ( ( rule__Enum__Group__0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:354:1: ( ( rule__Enum__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:354:1: ( ( rule__Enum__Group__0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:355:1: ( rule__Enum__Group__0 )
            {
             before(grammarAccess.getEnumAccess().getGroup()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:356:1: ( rule__Enum__Group__0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:356:2: rule__Enum__Group__0
            {
            pushFollow(FOLLOW_rule__Enum__Group__0_in_ruleEnum694);
            rule__Enum__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getEnumAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleEnum"


    // $ANTLR start "entryRuleEnumElement"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:368:1: entryRuleEnumElement : ruleEnumElement EOF ;
    public final void entryRuleEnumElement() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:369:1: ( ruleEnumElement EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:370:1: ruleEnumElement EOF
            {
             before(grammarAccess.getEnumElementRule()); 
            pushFollow(FOLLOW_ruleEnumElement_in_entryRuleEnumElement721);
            ruleEnumElement();

            state._fsp--;

             after(grammarAccess.getEnumElementRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleEnumElement728); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleEnumElement"


    // $ANTLR start "ruleEnumElement"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:377:1: ruleEnumElement : ( ( rule__EnumElement__Group__0 ) ) ;
    public final void ruleEnumElement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:381:2: ( ( ( rule__EnumElement__Group__0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:382:1: ( ( rule__EnumElement__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:382:1: ( ( rule__EnumElement__Group__0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:383:1: ( rule__EnumElement__Group__0 )
            {
             before(grammarAccess.getEnumElementAccess().getGroup()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:384:1: ( rule__EnumElement__Group__0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:384:2: rule__EnumElement__Group__0
            {
            pushFollow(FOLLOW_rule__EnumElement__Group__0_in_ruleEnumElement754);
            rule__EnumElement__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getEnumElementAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleEnumElement"


    // $ANTLR start "entryRuleSenum"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:396:1: entryRuleSenum : ruleSenum EOF ;
    public final void entryRuleSenum() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:397:1: ( ruleSenum EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:398:1: ruleSenum EOF
            {
             before(grammarAccess.getSenumRule()); 
            pushFollow(FOLLOW_ruleSenum_in_entryRuleSenum781);
            ruleSenum();

            state._fsp--;

             after(grammarAccess.getSenumRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleSenum788); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleSenum"


    // $ANTLR start "ruleSenum"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:405:1: ruleSenum : ( ( rule__Senum__Group__0 ) ) ;
    public final void ruleSenum() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:409:2: ( ( ( rule__Senum__Group__0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:410:1: ( ( rule__Senum__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:410:1: ( ( rule__Senum__Group__0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:411:1: ( rule__Senum__Group__0 )
            {
             before(grammarAccess.getSenumAccess().getGroup()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:412:1: ( rule__Senum__Group__0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:412:2: rule__Senum__Group__0
            {
            pushFollow(FOLLOW_rule__Senum__Group__0_in_ruleSenum814);
            rule__Senum__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getSenumAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleSenum"


    // $ANTLR start "entryRuleStruct"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:424:1: entryRuleStruct : ruleStruct EOF ;
    public final void entryRuleStruct() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:425:1: ( ruleStruct EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:426:1: ruleStruct EOF
            {
             before(grammarAccess.getStructRule()); 
            pushFollow(FOLLOW_ruleStruct_in_entryRuleStruct841);
            ruleStruct();

            state._fsp--;

             after(grammarAccess.getStructRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleStruct848); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleStruct"


    // $ANTLR start "ruleStruct"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:433:1: ruleStruct : ( ( rule__Struct__Group__0 ) ) ;
    public final void ruleStruct() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:437:2: ( ( ( rule__Struct__Group__0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:438:1: ( ( rule__Struct__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:438:1: ( ( rule__Struct__Group__0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:439:1: ( rule__Struct__Group__0 )
            {
             before(grammarAccess.getStructAccess().getGroup()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:440:1: ( rule__Struct__Group__0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:440:2: rule__Struct__Group__0
            {
            pushFollow(FOLLOW_rule__Struct__Group__0_in_ruleStruct874);
            rule__Struct__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getStructAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleStruct"


    // $ANTLR start "entryRuleUnion"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:452:1: entryRuleUnion : ruleUnion EOF ;
    public final void entryRuleUnion() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:453:1: ( ruleUnion EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:454:1: ruleUnion EOF
            {
             before(grammarAccess.getUnionRule()); 
            pushFollow(FOLLOW_ruleUnion_in_entryRuleUnion901);
            ruleUnion();

            state._fsp--;

             after(grammarAccess.getUnionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleUnion908); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleUnion"


    // $ANTLR start "ruleUnion"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:461:1: ruleUnion : ( ( rule__Union__Group__0 ) ) ;
    public final void ruleUnion() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:465:2: ( ( ( rule__Union__Group__0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:466:1: ( ( rule__Union__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:466:1: ( ( rule__Union__Group__0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:467:1: ( rule__Union__Group__0 )
            {
             before(grammarAccess.getUnionAccess().getGroup()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:468:1: ( rule__Union__Group__0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:468:2: rule__Union__Group__0
            {
            pushFollow(FOLLOW_rule__Union__Group__0_in_ruleUnion934);
            rule__Union__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getUnionAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleUnion"


    // $ANTLR start "entryRuleException"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:480:1: entryRuleException : ruleException EOF ;
    public final void entryRuleException() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:481:1: ( ruleException EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:482:1: ruleException EOF
            {
             before(grammarAccess.getExceptionRule()); 
            pushFollow(FOLLOW_ruleException_in_entryRuleException961);
            ruleException();

            state._fsp--;

             after(grammarAccess.getExceptionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleException968); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleException"


    // $ANTLR start "ruleException"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:489:1: ruleException : ( ( rule__Exception__Group__0 ) ) ;
    public final void ruleException() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:493:2: ( ( ( rule__Exception__Group__0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:494:1: ( ( rule__Exception__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:494:1: ( ( rule__Exception__Group__0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:495:1: ( rule__Exception__Group__0 )
            {
             before(grammarAccess.getExceptionAccess().getGroup()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:496:1: ( rule__Exception__Group__0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:496:2: rule__Exception__Group__0
            {
            pushFollow(FOLLOW_rule__Exception__Group__0_in_ruleException994);
            rule__Exception__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getExceptionAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleException"


    // $ANTLR start "entryRuleService"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:508:1: entryRuleService : ruleService EOF ;
    public final void entryRuleService() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:509:1: ( ruleService EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:510:1: ruleService EOF
            {
             before(grammarAccess.getServiceRule()); 
            pushFollow(FOLLOW_ruleService_in_entryRuleService1021);
            ruleService();

            state._fsp--;

             after(grammarAccess.getServiceRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleService1028); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleService"


    // $ANTLR start "ruleService"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:517:1: ruleService : ( ( rule__Service__Group__0 ) ) ;
    public final void ruleService() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:521:2: ( ( ( rule__Service__Group__0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:522:1: ( ( rule__Service__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:522:1: ( ( rule__Service__Group__0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:523:1: ( rule__Service__Group__0 )
            {
             before(grammarAccess.getServiceAccess().getGroup()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:524:1: ( rule__Service__Group__0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:524:2: rule__Service__Group__0
            {
            pushFollow(FOLLOW_rule__Service__Group__0_in_ruleService1054);
            rule__Service__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getServiceAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleService"


    // $ANTLR start "entryRuleServiceRef"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:536:1: entryRuleServiceRef : ruleServiceRef EOF ;
    public final void entryRuleServiceRef() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:537:1: ( ruleServiceRef EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:538:1: ruleServiceRef EOF
            {
             before(grammarAccess.getServiceRefRule()); 
            pushFollow(FOLLOW_ruleServiceRef_in_entryRuleServiceRef1081);
            ruleServiceRef();

            state._fsp--;

             after(grammarAccess.getServiceRefRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleServiceRef1088); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleServiceRef"


    // $ANTLR start "ruleServiceRef"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:545:1: ruleServiceRef : ( ( rule__ServiceRef__ServiceAssignment ) ) ;
    public final void ruleServiceRef() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:549:2: ( ( ( rule__ServiceRef__ServiceAssignment ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:550:1: ( ( rule__ServiceRef__ServiceAssignment ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:550:1: ( ( rule__ServiceRef__ServiceAssignment ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:551:1: ( rule__ServiceRef__ServiceAssignment )
            {
             before(grammarAccess.getServiceRefAccess().getServiceAssignment()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:552:1: ( rule__ServiceRef__ServiceAssignment )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:552:2: rule__ServiceRef__ServiceAssignment
            {
            pushFollow(FOLLOW_rule__ServiceRef__ServiceAssignment_in_ruleServiceRef1114);
            rule__ServiceRef__ServiceAssignment();

            state._fsp--;


            }

             after(grammarAccess.getServiceRefAccess().getServiceAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleServiceRef"


    // $ANTLR start "entryRuleField"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:564:1: entryRuleField : ruleField EOF ;
    public final void entryRuleField() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:565:1: ( ruleField EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:566:1: ruleField EOF
            {
             before(grammarAccess.getFieldRule()); 
            pushFollow(FOLLOW_ruleField_in_entryRuleField1141);
            ruleField();

            state._fsp--;

             after(grammarAccess.getFieldRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleField1148); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleField"


    // $ANTLR start "ruleField"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:573:1: ruleField : ( ( rule__Field__Group__0 ) ) ;
    public final void ruleField() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:577:2: ( ( ( rule__Field__Group__0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:578:1: ( ( rule__Field__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:578:1: ( ( rule__Field__Group__0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:579:1: ( rule__Field__Group__0 )
            {
             before(grammarAccess.getFieldAccess().getGroup()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:580:1: ( rule__Field__Group__0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:580:2: rule__Field__Group__0
            {
            pushFollow(FOLLOW_rule__Field__Group__0_in_ruleField1174);
            rule__Field__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getFieldAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleField"


    // $ANTLR start "entryRuleFieldID"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:592:1: entryRuleFieldID : ruleFieldID EOF ;
    public final void entryRuleFieldID() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:593:1: ( ruleFieldID EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:594:1: ruleFieldID EOF
            {
             before(grammarAccess.getFieldIDRule()); 
            pushFollow(FOLLOW_ruleFieldID_in_entryRuleFieldID1201);
            ruleFieldID();

            state._fsp--;

             after(grammarAccess.getFieldIDRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleFieldID1208); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleFieldID"


    // $ANTLR start "ruleFieldID"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:601:1: ruleFieldID : ( ( rule__FieldID__Group__0 ) ) ;
    public final void ruleFieldID() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:605:2: ( ( ( rule__FieldID__Group__0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:606:1: ( ( rule__FieldID__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:606:1: ( ( rule__FieldID__Group__0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:607:1: ( rule__FieldID__Group__0 )
            {
             before(grammarAccess.getFieldIDAccess().getGroup()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:608:1: ( rule__FieldID__Group__0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:608:2: rule__FieldID__Group__0
            {
            pushFollow(FOLLOW_rule__FieldID__Group__0_in_ruleFieldID1234);
            rule__FieldID__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getFieldIDAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleFieldID"


    // $ANTLR start "entryRuleFieldReq"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:620:1: entryRuleFieldReq : ruleFieldReq EOF ;
    public final void entryRuleFieldReq() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:621:1: ( ruleFieldReq EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:622:1: ruleFieldReq EOF
            {
             before(grammarAccess.getFieldReqRule()); 
            pushFollow(FOLLOW_ruleFieldReq_in_entryRuleFieldReq1261);
            ruleFieldReq();

            state._fsp--;

             after(grammarAccess.getFieldReqRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleFieldReq1268); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleFieldReq"


    // $ANTLR start "ruleFieldReq"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:629:1: ruleFieldReq : ( ( rule__FieldReq__Alternatives ) ) ;
    public final void ruleFieldReq() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:633:2: ( ( ( rule__FieldReq__Alternatives ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:634:1: ( ( rule__FieldReq__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:634:1: ( ( rule__FieldReq__Alternatives ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:635:1: ( rule__FieldReq__Alternatives )
            {
             before(grammarAccess.getFieldReqAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:636:1: ( rule__FieldReq__Alternatives )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:636:2: rule__FieldReq__Alternatives
            {
            pushFollow(FOLLOW_rule__FieldReq__Alternatives_in_ruleFieldReq1294);
            rule__FieldReq__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getFieldReqAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleFieldReq"


    // $ANTLR start "entryRuleFunction"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:648:1: entryRuleFunction : ruleFunction EOF ;
    public final void entryRuleFunction() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:649:1: ( ruleFunction EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:650:1: ruleFunction EOF
            {
             before(grammarAccess.getFunctionRule()); 
            pushFollow(FOLLOW_ruleFunction_in_entryRuleFunction1321);
            ruleFunction();

            state._fsp--;

             after(grammarAccess.getFunctionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleFunction1328); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleFunction"


    // $ANTLR start "ruleFunction"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:657:1: ruleFunction : ( ( rule__Function__Group__0 ) ) ;
    public final void ruleFunction() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:661:2: ( ( ( rule__Function__Group__0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:662:1: ( ( rule__Function__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:662:1: ( ( rule__Function__Group__0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:663:1: ( rule__Function__Group__0 )
            {
             before(grammarAccess.getFunctionAccess().getGroup()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:664:1: ( rule__Function__Group__0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:664:2: rule__Function__Group__0
            {
            pushFollow(FOLLOW_rule__Function__Group__0_in_ruleFunction1354);
            rule__Function__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getFunctionAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleFunction"


    // $ANTLR start "entryRuleFunctionType"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:676:1: entryRuleFunctionType : ruleFunctionType EOF ;
    public final void entryRuleFunctionType() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:677:1: ( ruleFunctionType EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:678:1: ruleFunctionType EOF
            {
             before(grammarAccess.getFunctionTypeRule()); 
            pushFollow(FOLLOW_ruleFunctionType_in_entryRuleFunctionType1381);
            ruleFunctionType();

            state._fsp--;

             after(grammarAccess.getFunctionTypeRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleFunctionType1388); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleFunctionType"


    // $ANTLR start "ruleFunctionType"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:685:1: ruleFunctionType : ( ( rule__FunctionType__Alternatives ) ) ;
    public final void ruleFunctionType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:689:2: ( ( ( rule__FunctionType__Alternatives ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:690:1: ( ( rule__FunctionType__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:690:1: ( ( rule__FunctionType__Alternatives ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:691:1: ( rule__FunctionType__Alternatives )
            {
             before(grammarAccess.getFunctionTypeAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:692:1: ( rule__FunctionType__Alternatives )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:692:2: rule__FunctionType__Alternatives
            {
            pushFollow(FOLLOW_rule__FunctionType__Alternatives_in_ruleFunctionType1414);
            rule__FunctionType__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getFunctionTypeAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleFunctionType"


    // $ANTLR start "entryRuleThrows"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:704:1: entryRuleThrows : ruleThrows EOF ;
    public final void entryRuleThrows() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:705:1: ( ruleThrows EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:706:1: ruleThrows EOF
            {
             before(grammarAccess.getThrowsRule()); 
            pushFollow(FOLLOW_ruleThrows_in_entryRuleThrows1441);
            ruleThrows();

            state._fsp--;

             after(grammarAccess.getThrowsRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleThrows1448); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleThrows"


    // $ANTLR start "ruleThrows"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:713:1: ruleThrows : ( ( rule__Throws__Group__0 ) ) ;
    public final void ruleThrows() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:717:2: ( ( ( rule__Throws__Group__0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:718:1: ( ( rule__Throws__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:718:1: ( ( rule__Throws__Group__0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:719:1: ( rule__Throws__Group__0 )
            {
             before(grammarAccess.getThrowsAccess().getGroup()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:720:1: ( rule__Throws__Group__0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:720:2: rule__Throws__Group__0
            {
            pushFollow(FOLLOW_rule__Throws__Group__0_in_ruleThrows1474);
            rule__Throws__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getThrowsAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleThrows"


    // $ANTLR start "entryRuleThrowsField"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:732:1: entryRuleThrowsField : ruleThrowsField EOF ;
    public final void entryRuleThrowsField() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:733:1: ( ruleThrowsField EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:734:1: ruleThrowsField EOF
            {
             before(grammarAccess.getThrowsFieldRule()); 
            pushFollow(FOLLOW_ruleThrowsField_in_entryRuleThrowsField1501);
            ruleThrowsField();

            state._fsp--;

             after(grammarAccess.getThrowsFieldRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleThrowsField1508); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleThrowsField"


    // $ANTLR start "ruleThrowsField"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:741:1: ruleThrowsField : ( ( rule__ThrowsField__Group__0 ) ) ;
    public final void ruleThrowsField() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:745:2: ( ( ( rule__ThrowsField__Group__0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:746:1: ( ( rule__ThrowsField__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:746:1: ( ( rule__ThrowsField__Group__0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:747:1: ( rule__ThrowsField__Group__0 )
            {
             before(grammarAccess.getThrowsFieldAccess().getGroup()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:748:1: ( rule__ThrowsField__Group__0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:748:2: rule__ThrowsField__Group__0
            {
            pushFollow(FOLLOW_rule__ThrowsField__Group__0_in_ruleThrowsField1534);
            rule__ThrowsField__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getThrowsFieldAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleThrowsField"


    // $ANTLR start "entryRuleFieldType"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:760:1: entryRuleFieldType : ruleFieldType EOF ;
    public final void entryRuleFieldType() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:761:1: ( ruleFieldType EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:762:1: ruleFieldType EOF
            {
             before(grammarAccess.getFieldTypeRule()); 
            pushFollow(FOLLOW_ruleFieldType_in_entryRuleFieldType1561);
            ruleFieldType();

            state._fsp--;

             after(grammarAccess.getFieldTypeRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleFieldType1568); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleFieldType"


    // $ANTLR start "ruleFieldType"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:769:1: ruleFieldType : ( ( rule__FieldType__Alternatives ) ) ;
    public final void ruleFieldType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:773:2: ( ( ( rule__FieldType__Alternatives ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:774:1: ( ( rule__FieldType__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:774:1: ( ( rule__FieldType__Alternatives ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:775:1: ( rule__FieldType__Alternatives )
            {
             before(grammarAccess.getFieldTypeAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:776:1: ( rule__FieldType__Alternatives )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:776:2: rule__FieldType__Alternatives
            {
            pushFollow(FOLLOW_rule__FieldType__Alternatives_in_ruleFieldType1594);
            rule__FieldType__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getFieldTypeAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleFieldType"


    // $ANTLR start "entryRuleDefinitionType"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:788:1: entryRuleDefinitionType : ruleDefinitionType EOF ;
    public final void entryRuleDefinitionType() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:789:1: ( ruleDefinitionType EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:790:1: ruleDefinitionType EOF
            {
             before(grammarAccess.getDefinitionTypeRule()); 
            pushFollow(FOLLOW_ruleDefinitionType_in_entryRuleDefinitionType1621);
            ruleDefinitionType();

            state._fsp--;

             after(grammarAccess.getDefinitionTypeRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleDefinitionType1628); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleDefinitionType"


    // $ANTLR start "ruleDefinitionType"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:797:1: ruleDefinitionType : ( ( rule__DefinitionType__Alternatives ) ) ;
    public final void ruleDefinitionType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:801:2: ( ( ( rule__DefinitionType__Alternatives ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:802:1: ( ( rule__DefinitionType__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:802:1: ( ( rule__DefinitionType__Alternatives ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:803:1: ( rule__DefinitionType__Alternatives )
            {
             before(grammarAccess.getDefinitionTypeAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:804:1: ( rule__DefinitionType__Alternatives )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:804:2: rule__DefinitionType__Alternatives
            {
            pushFollow(FOLLOW_rule__DefinitionType__Alternatives_in_ruleDefinitionType1654);
            rule__DefinitionType__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getDefinitionTypeAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleDefinitionType"


    // $ANTLR start "entryRuleContainerType"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:816:1: entryRuleContainerType : ruleContainerType EOF ;
    public final void entryRuleContainerType() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:817:1: ( ruleContainerType EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:818:1: ruleContainerType EOF
            {
             before(grammarAccess.getContainerTypeRule()); 
            pushFollow(FOLLOW_ruleContainerType_in_entryRuleContainerType1681);
            ruleContainerType();

            state._fsp--;

             after(grammarAccess.getContainerTypeRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleContainerType1688); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleContainerType"


    // $ANTLR start "ruleContainerType"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:825:1: ruleContainerType : ( ( rule__ContainerType__Alternatives ) ) ;
    public final void ruleContainerType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:829:2: ( ( ( rule__ContainerType__Alternatives ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:830:1: ( ( rule__ContainerType__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:830:1: ( ( rule__ContainerType__Alternatives ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:831:1: ( rule__ContainerType__Alternatives )
            {
             before(grammarAccess.getContainerTypeAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:832:1: ( rule__ContainerType__Alternatives )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:832:2: rule__ContainerType__Alternatives
            {
            pushFollow(FOLLOW_rule__ContainerType__Alternatives_in_ruleContainerType1714);
            rule__ContainerType__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getContainerTypeAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleContainerType"


    // $ANTLR start "entryRuleMapType"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:844:1: entryRuleMapType : ruleMapType EOF ;
    public final void entryRuleMapType() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:845:1: ( ruleMapType EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:846:1: ruleMapType EOF
            {
             before(grammarAccess.getMapTypeRule()); 
            pushFollow(FOLLOW_ruleMapType_in_entryRuleMapType1741);
            ruleMapType();

            state._fsp--;

             after(grammarAccess.getMapTypeRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleMapType1748); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleMapType"


    // $ANTLR start "ruleMapType"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:853:1: ruleMapType : ( ( rule__MapType__Group__0 ) ) ;
    public final void ruleMapType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:857:2: ( ( ( rule__MapType__Group__0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:858:1: ( ( rule__MapType__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:858:1: ( ( rule__MapType__Group__0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:859:1: ( rule__MapType__Group__0 )
            {
             before(grammarAccess.getMapTypeAccess().getGroup()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:860:1: ( rule__MapType__Group__0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:860:2: rule__MapType__Group__0
            {
            pushFollow(FOLLOW_rule__MapType__Group__0_in_ruleMapType1774);
            rule__MapType__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getMapTypeAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleMapType"


    // $ANTLR start "entryRuleSetType"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:872:1: entryRuleSetType : ruleSetType EOF ;
    public final void entryRuleSetType() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:873:1: ( ruleSetType EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:874:1: ruleSetType EOF
            {
             before(grammarAccess.getSetTypeRule()); 
            pushFollow(FOLLOW_ruleSetType_in_entryRuleSetType1801);
            ruleSetType();

            state._fsp--;

             after(grammarAccess.getSetTypeRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleSetType1808); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleSetType"


    // $ANTLR start "ruleSetType"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:881:1: ruleSetType : ( ( rule__SetType__Group__0 ) ) ;
    public final void ruleSetType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:885:2: ( ( ( rule__SetType__Group__0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:886:1: ( ( rule__SetType__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:886:1: ( ( rule__SetType__Group__0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:887:1: ( rule__SetType__Group__0 )
            {
             before(grammarAccess.getSetTypeAccess().getGroup()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:888:1: ( rule__SetType__Group__0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:888:2: rule__SetType__Group__0
            {
            pushFollow(FOLLOW_rule__SetType__Group__0_in_ruleSetType1834);
            rule__SetType__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getSetTypeAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleSetType"


    // $ANTLR start "entryRuleListType"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:900:1: entryRuleListType : ruleListType EOF ;
    public final void entryRuleListType() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:901:1: ( ruleListType EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:902:1: ruleListType EOF
            {
             before(grammarAccess.getListTypeRule()); 
            pushFollow(FOLLOW_ruleListType_in_entryRuleListType1861);
            ruleListType();

            state._fsp--;

             after(grammarAccess.getListTypeRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleListType1868); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleListType"


    // $ANTLR start "ruleListType"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:909:1: ruleListType : ( ( rule__ListType__Group__0 ) ) ;
    public final void ruleListType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:913:2: ( ( ( rule__ListType__Group__0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:914:1: ( ( rule__ListType__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:914:1: ( ( rule__ListType__Group__0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:915:1: ( rule__ListType__Group__0 )
            {
             before(grammarAccess.getListTypeAccess().getGroup()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:916:1: ( rule__ListType__Group__0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:916:2: rule__ListType__Group__0
            {
            pushFollow(FOLLOW_rule__ListType__Group__0_in_ruleListType1894);
            rule__ListType__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getListTypeAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleListType"


    // $ANTLR start "entryRuleCppType"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:928:1: entryRuleCppType : ruleCppType EOF ;
    public final void entryRuleCppType() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:929:1: ( ruleCppType EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:930:1: ruleCppType EOF
            {
             before(grammarAccess.getCppTypeRule()); 
            pushFollow(FOLLOW_ruleCppType_in_entryRuleCppType1921);
            ruleCppType();

            state._fsp--;

             after(grammarAccess.getCppTypeRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleCppType1928); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleCppType"


    // $ANTLR start "ruleCppType"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:937:1: ruleCppType : ( ( rule__CppType__Group__0 ) ) ;
    public final void ruleCppType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:941:2: ( ( ( rule__CppType__Group__0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:942:1: ( ( rule__CppType__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:942:1: ( ( rule__CppType__Group__0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:943:1: ( rule__CppType__Group__0 )
            {
             before(grammarAccess.getCppTypeAccess().getGroup()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:944:1: ( rule__CppType__Group__0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:944:2: rule__CppType__Group__0
            {
            pushFollow(FOLLOW_rule__CppType__Group__0_in_ruleCppType1954);
            rule__CppType__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getCppTypeAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleCppType"


    // $ANTLR start "entryRuleBaseTypeRef"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:956:1: entryRuleBaseTypeRef : ruleBaseTypeRef EOF ;
    public final void entryRuleBaseTypeRef() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:957:1: ( ruleBaseTypeRef EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:958:1: ruleBaseTypeRef EOF
            {
             before(grammarAccess.getBaseTypeRefRule()); 
            pushFollow(FOLLOW_ruleBaseTypeRef_in_entryRuleBaseTypeRef1981);
            ruleBaseTypeRef();

            state._fsp--;

             after(grammarAccess.getBaseTypeRefRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleBaseTypeRef1988); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleBaseTypeRef"


    // $ANTLR start "ruleBaseTypeRef"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:965:1: ruleBaseTypeRef : ( ( rule__BaseTypeRef__BasicTypeAssignment ) ) ;
    public final void ruleBaseTypeRef() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:969:2: ( ( ( rule__BaseTypeRef__BasicTypeAssignment ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:970:1: ( ( rule__BaseTypeRef__BasicTypeAssignment ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:970:1: ( ( rule__BaseTypeRef__BasicTypeAssignment ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:971:1: ( rule__BaseTypeRef__BasicTypeAssignment )
            {
             before(grammarAccess.getBaseTypeRefAccess().getBasicTypeAssignment()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:972:1: ( rule__BaseTypeRef__BasicTypeAssignment )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:972:2: rule__BaseTypeRef__BasicTypeAssignment
            {
            pushFollow(FOLLOW_rule__BaseTypeRef__BasicTypeAssignment_in_ruleBaseTypeRef2014);
            rule__BaseTypeRef__BasicTypeAssignment();

            state._fsp--;


            }

             after(grammarAccess.getBaseTypeRefAccess().getBasicTypeAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleBaseTypeRef"


    // $ANTLR start "entryRuleContainerTypeRef"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:984:1: entryRuleContainerTypeRef : ruleContainerTypeRef EOF ;
    public final void entryRuleContainerTypeRef() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:985:1: ( ruleContainerTypeRef EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:986:1: ruleContainerTypeRef EOF
            {
             before(grammarAccess.getContainerTypeRefRule()); 
            pushFollow(FOLLOW_ruleContainerTypeRef_in_entryRuleContainerTypeRef2041);
            ruleContainerTypeRef();

            state._fsp--;

             after(grammarAccess.getContainerTypeRefRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleContainerTypeRef2048); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleContainerTypeRef"


    // $ANTLR start "ruleContainerTypeRef"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:993:1: ruleContainerTypeRef : ( ( rule__ContainerTypeRef__ContainerTypeAssignment ) ) ;
    public final void ruleContainerTypeRef() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:997:2: ( ( ( rule__ContainerTypeRef__ContainerTypeAssignment ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:998:1: ( ( rule__ContainerTypeRef__ContainerTypeAssignment ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:998:1: ( ( rule__ContainerTypeRef__ContainerTypeAssignment ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:999:1: ( rule__ContainerTypeRef__ContainerTypeAssignment )
            {
             before(grammarAccess.getContainerTypeRefAccess().getContainerTypeAssignment()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1000:1: ( rule__ContainerTypeRef__ContainerTypeAssignment )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1000:2: rule__ContainerTypeRef__ContainerTypeAssignment
            {
            pushFollow(FOLLOW_rule__ContainerTypeRef__ContainerTypeAssignment_in_ruleContainerTypeRef2074);
            rule__ContainerTypeRef__ContainerTypeAssignment();

            state._fsp--;


            }

             after(grammarAccess.getContainerTypeRefAccess().getContainerTypeAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleContainerTypeRef"


    // $ANTLR start "entryRuleDefinitionRef"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1012:1: entryRuleDefinitionRef : ruleDefinitionRef EOF ;
    public final void entryRuleDefinitionRef() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1013:1: ( ruleDefinitionRef EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1014:1: ruleDefinitionRef EOF
            {
             before(grammarAccess.getDefinitionRefRule()); 
            pushFollow(FOLLOW_ruleDefinitionRef_in_entryRuleDefinitionRef2101);
            ruleDefinitionRef();

            state._fsp--;

             after(grammarAccess.getDefinitionRefRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleDefinitionRef2108); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleDefinitionRef"


    // $ANTLR start "ruleDefinitionRef"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1021:1: ruleDefinitionRef : ( ( rule__DefinitionRef__DefinitionAssignment ) ) ;
    public final void ruleDefinitionRef() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1025:2: ( ( ( rule__DefinitionRef__DefinitionAssignment ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1026:1: ( ( rule__DefinitionRef__DefinitionAssignment ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1026:1: ( ( rule__DefinitionRef__DefinitionAssignment ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1027:1: ( rule__DefinitionRef__DefinitionAssignment )
            {
             before(grammarAccess.getDefinitionRefAccess().getDefinitionAssignment()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1028:1: ( rule__DefinitionRef__DefinitionAssignment )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1028:2: rule__DefinitionRef__DefinitionAssignment
            {
            pushFollow(FOLLOW_rule__DefinitionRef__DefinitionAssignment_in_ruleDefinitionRef2134);
            rule__DefinitionRef__DefinitionAssignment();

            state._fsp--;


            }

             after(grammarAccess.getDefinitionRefAccess().getDefinitionAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleDefinitionRef"


    // $ANTLR start "entryRuleConstValue"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1040:1: entryRuleConstValue : ruleConstValue EOF ;
    public final void entryRuleConstValue() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1041:1: ( ruleConstValue EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1042:1: ruleConstValue EOF
            {
             before(grammarAccess.getConstValueRule()); 
            pushFollow(FOLLOW_ruleConstValue_in_entryRuleConstValue2161);
            ruleConstValue();

            state._fsp--;

             after(grammarAccess.getConstValueRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleConstValue2168); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleConstValue"


    // $ANTLR start "ruleConstValue"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1049:1: ruleConstValue : ( ( rule__ConstValue__Alternatives ) ) ;
    public final void ruleConstValue() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1053:2: ( ( ( rule__ConstValue__Alternatives ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1054:1: ( ( rule__ConstValue__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1054:1: ( ( rule__ConstValue__Alternatives ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1055:1: ( rule__ConstValue__Alternatives )
            {
             before(grammarAccess.getConstValueAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1056:1: ( rule__ConstValue__Alternatives )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1056:2: rule__ConstValue__Alternatives
            {
            pushFollow(FOLLOW_rule__ConstValue__Alternatives_in_ruleConstValue2194);
            rule__ConstValue__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getConstValueAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleConstValue"


    // $ANTLR start "entryRuleNumberRef"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1068:1: entryRuleNumberRef : ruleNumberRef EOF ;
    public final void entryRuleNumberRef() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1069:1: ( ruleNumberRef EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1070:1: ruleNumberRef EOF
            {
             before(grammarAccess.getNumberRefRule()); 
            pushFollow(FOLLOW_ruleNumberRef_in_entryRuleNumberRef2221);
            ruleNumberRef();

            state._fsp--;

             after(grammarAccess.getNumberRefRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleNumberRef2228); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleNumberRef"


    // $ANTLR start "ruleNumberRef"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1077:1: ruleNumberRef : ( ( rule__NumberRef__Alternatives ) ) ;
    public final void ruleNumberRef() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1081:2: ( ( ( rule__NumberRef__Alternatives ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1082:1: ( ( rule__NumberRef__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1082:1: ( ( rule__NumberRef__Alternatives ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1083:1: ( rule__NumberRef__Alternatives )
            {
             before(grammarAccess.getNumberRefAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1084:1: ( rule__NumberRef__Alternatives )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1084:2: rule__NumberRef__Alternatives
            {
            pushFollow(FOLLOW_rule__NumberRef__Alternatives_in_ruleNumberRef2254);
            rule__NumberRef__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getNumberRefAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleNumberRef"


    // $ANTLR start "entryRuleHexRef"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1096:1: entryRuleHexRef : ruleHexRef EOF ;
    public final void entryRuleHexRef() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1097:1: ( ruleHexRef EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1098:1: ruleHexRef EOF
            {
             before(grammarAccess.getHexRefRule()); 
            pushFollow(FOLLOW_ruleHexRef_in_entryRuleHexRef2281);
            ruleHexRef();

            state._fsp--;

             after(grammarAccess.getHexRefRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleHexRef2288); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleHexRef"


    // $ANTLR start "ruleHexRef"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1105:1: ruleHexRef : ( ( rule__HexRef__HexAssignment ) ) ;
    public final void ruleHexRef() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1109:2: ( ( ( rule__HexRef__HexAssignment ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1110:1: ( ( rule__HexRef__HexAssignment ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1110:1: ( ( rule__HexRef__HexAssignment ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1111:1: ( rule__HexRef__HexAssignment )
            {
             before(grammarAccess.getHexRefAccess().getHexAssignment()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1112:1: ( rule__HexRef__HexAssignment )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1112:2: rule__HexRef__HexAssignment
            {
            pushFollow(FOLLOW_rule__HexRef__HexAssignment_in_ruleHexRef2314);
            rule__HexRef__HexAssignment();

            state._fsp--;


            }

             after(grammarAccess.getHexRefAccess().getHexAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleHexRef"


    // $ANTLR start "entryRuleLongRef"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1124:1: entryRuleLongRef : ruleLongRef EOF ;
    public final void entryRuleLongRef() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1125:1: ( ruleLongRef EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1126:1: ruleLongRef EOF
            {
             before(grammarAccess.getLongRefRule()); 
            pushFollow(FOLLOW_ruleLongRef_in_entryRuleLongRef2341);
            ruleLongRef();

            state._fsp--;

             after(grammarAccess.getLongRefRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleLongRef2348); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleLongRef"


    // $ANTLR start "ruleLongRef"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1133:1: ruleLongRef : ( ( rule__LongRef__LongAssignment ) ) ;
    public final void ruleLongRef() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1137:2: ( ( ( rule__LongRef__LongAssignment ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1138:1: ( ( rule__LongRef__LongAssignment ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1138:1: ( ( rule__LongRef__LongAssignment ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1139:1: ( rule__LongRef__LongAssignment )
            {
             before(grammarAccess.getLongRefAccess().getLongAssignment()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1140:1: ( rule__LongRef__LongAssignment )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1140:2: rule__LongRef__LongAssignment
            {
            pushFollow(FOLLOW_rule__LongRef__LongAssignment_in_ruleLongRef2374);
            rule__LongRef__LongAssignment();

            state._fsp--;


            }

             after(grammarAccess.getLongRefAccess().getLongAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleLongRef"


    // $ANTLR start "entryRuleDoubleRef"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1152:1: entryRuleDoubleRef : ruleDoubleRef EOF ;
    public final void entryRuleDoubleRef() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1153:1: ( ruleDoubleRef EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1154:1: ruleDoubleRef EOF
            {
             before(grammarAccess.getDoubleRefRule()); 
            pushFollow(FOLLOW_ruleDoubleRef_in_entryRuleDoubleRef2401);
            ruleDoubleRef();

            state._fsp--;

             after(grammarAccess.getDoubleRefRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleDoubleRef2408); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleDoubleRef"


    // $ANTLR start "ruleDoubleRef"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1161:1: ruleDoubleRef : ( ( rule__DoubleRef__DoubleAssignment ) ) ;
    public final void ruleDoubleRef() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1165:2: ( ( ( rule__DoubleRef__DoubleAssignment ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1166:1: ( ( rule__DoubleRef__DoubleAssignment ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1166:1: ( ( rule__DoubleRef__DoubleAssignment ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1167:1: ( rule__DoubleRef__DoubleAssignment )
            {
             before(grammarAccess.getDoubleRefAccess().getDoubleAssignment()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1168:1: ( rule__DoubleRef__DoubleAssignment )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1168:2: rule__DoubleRef__DoubleAssignment
            {
            pushFollow(FOLLOW_rule__DoubleRef__DoubleAssignment_in_ruleDoubleRef2434);
            rule__DoubleRef__DoubleAssignment();

            state._fsp--;


            }

             after(grammarAccess.getDoubleRefAccess().getDoubleAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleDoubleRef"


    // $ANTLR start "entryRuleBooleanRef"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1180:1: entryRuleBooleanRef : ruleBooleanRef EOF ;
    public final void entryRuleBooleanRef() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1181:1: ( ruleBooleanRef EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1182:1: ruleBooleanRef EOF
            {
             before(grammarAccess.getBooleanRefRule()); 
            pushFollow(FOLLOW_ruleBooleanRef_in_entryRuleBooleanRef2461);
            ruleBooleanRef();

            state._fsp--;

             after(grammarAccess.getBooleanRefRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleBooleanRef2468); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleBooleanRef"


    // $ANTLR start "ruleBooleanRef"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1189:1: ruleBooleanRef : ( ( rule__BooleanRef__BooleanAssignment ) ) ;
    public final void ruleBooleanRef() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1193:2: ( ( ( rule__BooleanRef__BooleanAssignment ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1194:1: ( ( rule__BooleanRef__BooleanAssignment ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1194:1: ( ( rule__BooleanRef__BooleanAssignment ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1195:1: ( rule__BooleanRef__BooleanAssignment )
            {
             before(grammarAccess.getBooleanRefAccess().getBooleanAssignment()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1196:1: ( rule__BooleanRef__BooleanAssignment )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1196:2: rule__BooleanRef__BooleanAssignment
            {
            pushFollow(FOLLOW_rule__BooleanRef__BooleanAssignment_in_ruleBooleanRef2494);
            rule__BooleanRef__BooleanAssignment();

            state._fsp--;


            }

             after(grammarAccess.getBooleanRefAccess().getBooleanAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleBooleanRef"


    // $ANTLR start "entryRuleStringRef"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1208:1: entryRuleStringRef : ruleStringRef EOF ;
    public final void entryRuleStringRef() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1209:1: ( ruleStringRef EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1210:1: ruleStringRef EOF
            {
             before(grammarAccess.getStringRefRule()); 
            pushFollow(FOLLOW_ruleStringRef_in_entryRuleStringRef2521);
            ruleStringRef();

            state._fsp--;

             after(grammarAccess.getStringRefRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleStringRef2528); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleStringRef"


    // $ANTLR start "ruleStringRef"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1217:1: ruleStringRef : ( ( rule__StringRef__StringAssignment ) ) ;
    public final void ruleStringRef() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1221:2: ( ( ( rule__StringRef__StringAssignment ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1222:1: ( ( rule__StringRef__StringAssignment ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1222:1: ( ( rule__StringRef__StringAssignment ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1223:1: ( rule__StringRef__StringAssignment )
            {
             before(grammarAccess.getStringRefAccess().getStringAssignment()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1224:1: ( rule__StringRef__StringAssignment )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1224:2: rule__StringRef__StringAssignment
            {
            pushFollow(FOLLOW_rule__StringRef__StringAssignment_in_ruleStringRef2554);
            rule__StringRef__StringAssignment();

            state._fsp--;


            }

             after(grammarAccess.getStringRefAccess().getStringAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleStringRef"


    // $ANTLR start "entryRuleConstList"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1236:1: entryRuleConstList : ruleConstList EOF ;
    public final void entryRuleConstList() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1237:1: ( ruleConstList EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1238:1: ruleConstList EOF
            {
             before(grammarAccess.getConstListRule()); 
            pushFollow(FOLLOW_ruleConstList_in_entryRuleConstList2581);
            ruleConstList();

            state._fsp--;

             after(grammarAccess.getConstListRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleConstList2588); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleConstList"


    // $ANTLR start "ruleConstList"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1245:1: ruleConstList : ( ( rule__ConstList__Alternatives ) ) ;
    public final void ruleConstList() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1249:2: ( ( ( rule__ConstList__Alternatives ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1250:1: ( ( rule__ConstList__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1250:1: ( ( rule__ConstList__Alternatives ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1251:1: ( rule__ConstList__Alternatives )
            {
             before(grammarAccess.getConstListAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1252:1: ( rule__ConstList__Alternatives )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1252:2: rule__ConstList__Alternatives
            {
            pushFollow(FOLLOW_rule__ConstList__Alternatives_in_ruleConstList2614);
            rule__ConstList__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getConstListAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleConstList"


    // $ANTLR start "entryRuleConstMap"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1264:1: entryRuleConstMap : ruleConstMap EOF ;
    public final void entryRuleConstMap() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1265:1: ( ruleConstMap EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1266:1: ruleConstMap EOF
            {
             before(grammarAccess.getConstMapRule()); 
            pushFollow(FOLLOW_ruleConstMap_in_entryRuleConstMap2641);
            ruleConstMap();

            state._fsp--;

             after(grammarAccess.getConstMapRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleConstMap2648); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleConstMap"


    // $ANTLR start "ruleConstMap"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1273:1: ruleConstMap : ( ( rule__ConstMap__Alternatives ) ) ;
    public final void ruleConstMap() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1277:2: ( ( ( rule__ConstMap__Alternatives ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1278:1: ( ( rule__ConstMap__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1278:1: ( ( rule__ConstMap__Alternatives ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1279:1: ( rule__ConstMap__Alternatives )
            {
             before(grammarAccess.getConstMapAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1280:1: ( rule__ConstMap__Alternatives )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1280:2: rule__ConstMap__Alternatives
            {
            pushFollow(FOLLOW_rule__ConstMap__Alternatives_in_ruleConstMap2674);
            rule__ConstMap__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getConstMapAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleConstMap"


    // $ANTLR start "entryRuleListSeparator"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1292:1: entryRuleListSeparator : ruleListSeparator EOF ;
    public final void entryRuleListSeparator() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1293:1: ( ruleListSeparator EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1294:1: ruleListSeparator EOF
            {
             before(grammarAccess.getListSeparatorRule()); 
            pushFollow(FOLLOW_ruleListSeparator_in_entryRuleListSeparator2701);
            ruleListSeparator();

            state._fsp--;

             after(grammarAccess.getListSeparatorRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleListSeparator2708); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleListSeparator"


    // $ANTLR start "ruleListSeparator"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1301:1: ruleListSeparator : ( ( rule__ListSeparator__Alternatives ) ) ;
    public final void ruleListSeparator() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1305:2: ( ( ( rule__ListSeparator__Alternatives ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1306:1: ( ( rule__ListSeparator__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1306:1: ( ( rule__ListSeparator__Alternatives ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1307:1: ( rule__ListSeparator__Alternatives )
            {
             before(grammarAccess.getListSeparatorAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1308:1: ( rule__ListSeparator__Alternatives )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1308:2: rule__ListSeparator__Alternatives
            {
            pushFollow(FOLLOW_rule__ListSeparator__Alternatives_in_ruleListSeparator2734);
            rule__ListSeparator__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getListSeparatorAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleListSeparator"


    // $ANTLR start "entryRuleQualifiedName"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1320:1: entryRuleQualifiedName : ruleQualifiedName EOF ;
    public final void entryRuleQualifiedName() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1321:1: ( ruleQualifiedName EOF )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1322:1: ruleQualifiedName EOF
            {
             before(grammarAccess.getQualifiedNameRule()); 
            pushFollow(FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName2761);
            ruleQualifiedName();

            state._fsp--;

             after(grammarAccess.getQualifiedNameRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleQualifiedName2768); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleQualifiedName"


    // $ANTLR start "ruleQualifiedName"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1329:1: ruleQualifiedName : ( ( rule__QualifiedName__Group__0 ) ) ;
    public final void ruleQualifiedName() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1333:2: ( ( ( rule__QualifiedName__Group__0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1334:1: ( ( rule__QualifiedName__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1334:1: ( ( rule__QualifiedName__Group__0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1335:1: ( rule__QualifiedName__Group__0 )
            {
             before(grammarAccess.getQualifiedNameAccess().getGroup()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1336:1: ( rule__QualifiedName__Group__0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1336:2: rule__QualifiedName__Group__0
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group__0_in_ruleQualifiedName2794);
            rule__QualifiedName__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getQualifiedNameAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleQualifiedName"


    // $ANTLR start "ruleBaseType"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1349:1: ruleBaseType : ( ( rule__BaseType__Alternatives ) ) ;
    public final void ruleBaseType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1353:1: ( ( ( rule__BaseType__Alternatives ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1354:1: ( ( rule__BaseType__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1354:1: ( ( rule__BaseType__Alternatives ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1355:1: ( rule__BaseType__Alternatives )
            {
             before(grammarAccess.getBaseTypeAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1356:1: ( rule__BaseType__Alternatives )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1356:2: rule__BaseType__Alternatives
            {
            pushFollow(FOLLOW_rule__BaseType__Alternatives_in_ruleBaseType2831);
            rule__BaseType__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getBaseTypeAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleBaseType"


    // $ANTLR start "ruleBOOL"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1368:1: ruleBOOL : ( ( rule__BOOL__Alternatives ) ) ;
    public final void ruleBOOL() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1372:1: ( ( ( rule__BOOL__Alternatives ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1373:1: ( ( rule__BOOL__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1373:1: ( ( rule__BOOL__Alternatives ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1374:1: ( rule__BOOL__Alternatives )
            {
             before(grammarAccess.getBOOLAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1375:1: ( rule__BOOL__Alternatives )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1375:2: rule__BOOL__Alternatives
            {
            pushFollow(FOLLOW_rule__BOOL__Alternatives_in_ruleBOOL2867);
            rule__BOOL__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getBOOLAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleBOOL"


    // $ANTLR start "rule__Header__Alternatives"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1386:1: rule__Header__Alternatives : ( ( ruleInclude ) | ( ruleCppInclude ) | ( ruleNamespace ) );
    public final void rule__Header__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1390:1: ( ( ruleInclude ) | ( ruleCppInclude ) | ( ruleNamespace ) )
            int alt1=3;
            switch ( input.LA(1) ) {
            case 31:
                {
                alt1=1;
                }
                break;
            case 32:
                {
                alt1=2;
                }
                break;
            case 33:
            case 34:
            case 35:
                {
                alt1=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 1, 0, input);

                throw nvae;
            }

            switch (alt1) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1391:1: ( ruleInclude )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1391:1: ( ruleInclude )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1392:1: ruleInclude
                    {
                     before(grammarAccess.getHeaderAccess().getIncludeParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleInclude_in_rule__Header__Alternatives2902);
                    ruleInclude();

                    state._fsp--;

                     after(grammarAccess.getHeaderAccess().getIncludeParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1397:6: ( ruleCppInclude )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1397:6: ( ruleCppInclude )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1398:1: ruleCppInclude
                    {
                     before(grammarAccess.getHeaderAccess().getCppIncludeParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleCppInclude_in_rule__Header__Alternatives2919);
                    ruleCppInclude();

                    state._fsp--;

                     after(grammarAccess.getHeaderAccess().getCppIncludeParserRuleCall_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1403:6: ( ruleNamespace )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1403:6: ( ruleNamespace )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1404:1: ruleNamespace
                    {
                     before(grammarAccess.getHeaderAccess().getNamespaceParserRuleCall_2()); 
                    pushFollow(FOLLOW_ruleNamespace_in_rule__Header__Alternatives2936);
                    ruleNamespace();

                    state._fsp--;

                     after(grammarAccess.getHeaderAccess().getNamespaceParserRuleCall_2()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Header__Alternatives"


    // $ANTLR start "rule__Namespace__Alternatives"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1414:1: rule__Namespace__Alternatives : ( ( ( rule__Namespace__Group_0__0 ) ) | ( ( rule__Namespace__Group_1__0 ) ) | ( ( rule__Namespace__Group_2__0 ) ) );
    public final void rule__Namespace__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1418:1: ( ( ( rule__Namespace__Group_0__0 ) ) | ( ( rule__Namespace__Group_1__0 ) ) | ( ( rule__Namespace__Group_2__0 ) ) )
            int alt2=3;
            switch ( input.LA(1) ) {
            case 33:
                {
                alt2=1;
                }
                break;
            case 34:
                {
                alt2=2;
                }
                break;
            case 35:
                {
                alt2=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 2, 0, input);

                throw nvae;
            }

            switch (alt2) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1419:1: ( ( rule__Namespace__Group_0__0 ) )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1419:1: ( ( rule__Namespace__Group_0__0 ) )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1420:1: ( rule__Namespace__Group_0__0 )
                    {
                     before(grammarAccess.getNamespaceAccess().getGroup_0()); 
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1421:1: ( rule__Namespace__Group_0__0 )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1421:2: rule__Namespace__Group_0__0
                    {
                    pushFollow(FOLLOW_rule__Namespace__Group_0__0_in_rule__Namespace__Alternatives2968);
                    rule__Namespace__Group_0__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getNamespaceAccess().getGroup_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1425:6: ( ( rule__Namespace__Group_1__0 ) )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1425:6: ( ( rule__Namespace__Group_1__0 ) )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1426:1: ( rule__Namespace__Group_1__0 )
                    {
                     before(grammarAccess.getNamespaceAccess().getGroup_1()); 
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1427:1: ( rule__Namespace__Group_1__0 )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1427:2: rule__Namespace__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__Namespace__Group_1__0_in_rule__Namespace__Alternatives2986);
                    rule__Namespace__Group_1__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getNamespaceAccess().getGroup_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1431:6: ( ( rule__Namespace__Group_2__0 ) )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1431:6: ( ( rule__Namespace__Group_2__0 ) )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1432:1: ( rule__Namespace__Group_2__0 )
                    {
                     before(grammarAccess.getNamespaceAccess().getGroup_2()); 
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1433:1: ( rule__Namespace__Group_2__0 )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1433:2: rule__Namespace__Group_2__0
                    {
                    pushFollow(FOLLOW_rule__Namespace__Group_2__0_in_rule__Namespace__Alternatives3004);
                    rule__Namespace__Group_2__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getNamespaceAccess().getGroup_2()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Namespace__Alternatives"


    // $ANTLR start "rule__Namespace__NamespaceScopeAlternatives_0_1_0_0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1442:1: rule__Namespace__NamespaceScopeAlternatives_0_1_0_0 : ( ( '*' ) | ( ruleQualifiedName ) );
    public final void rule__Namespace__NamespaceScopeAlternatives_0_1_0_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1446:1: ( ( '*' ) | ( ruleQualifiedName ) )
            int alt3=2;
            int LA3_0 = input.LA(1);

            if ( (LA3_0==15) ) {
                alt3=1;
            }
            else if ( (LA3_0==RULE_ID) ) {
                alt3=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 3, 0, input);

                throw nvae;
            }
            switch (alt3) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1447:1: ( '*' )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1447:1: ( '*' )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1448:1: '*'
                    {
                     before(grammarAccess.getNamespaceAccess().getNamespaceScopeAsteriskKeyword_0_1_0_0_0()); 
                    match(input,15,FOLLOW_15_in_rule__Namespace__NamespaceScopeAlternatives_0_1_0_03038); 
                     after(grammarAccess.getNamespaceAccess().getNamespaceScopeAsteriskKeyword_0_1_0_0_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1455:6: ( ruleQualifiedName )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1455:6: ( ruleQualifiedName )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1456:1: ruleQualifiedName
                    {
                     before(grammarAccess.getNamespaceAccess().getNamespaceScopeQualifiedNameParserRuleCall_0_1_0_0_1()); 
                    pushFollow(FOLLOW_ruleQualifiedName_in_rule__Namespace__NamespaceScopeAlternatives_0_1_0_03057);
                    ruleQualifiedName();

                    state._fsp--;

                     after(grammarAccess.getNamespaceAccess().getNamespaceScopeQualifiedNameParserRuleCall_0_1_0_0_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Namespace__NamespaceScopeAlternatives_0_1_0_0"


    // $ANTLR start "rule__Definition__Alternatives"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1466:1: rule__Definition__Alternatives : ( ( ruleConst ) | ( ruleTypeDef ) | ( ruleEnum ) | ( ruleSenum ) | ( ruleStruct ) | ( ruleUnion ) | ( ruleException ) | ( ruleService ) );
    public final void rule__Definition__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1470:1: ( ( ruleConst ) | ( ruleTypeDef ) | ( ruleEnum ) | ( ruleSenum ) | ( ruleStruct ) | ( ruleUnion ) | ( ruleException ) | ( ruleService ) )
            int alt4=8;
            switch ( input.LA(1) ) {
            case 36:
                {
                alt4=1;
                }
                break;
            case 38:
                {
                alt4=2;
                }
                break;
            case 41:
                {
                alt4=3;
                }
                break;
            case 44:
                {
                alt4=4;
                }
                break;
            case 45:
                {
                alt4=5;
                }
                break;
            case 47:
                {
                alt4=6;
                }
                break;
            case 48:
                {
                alt4=7;
                }
                break;
            case 49:
                {
                alt4=8;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 4, 0, input);

                throw nvae;
            }

            switch (alt4) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1471:1: ( ruleConst )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1471:1: ( ruleConst )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1472:1: ruleConst
                    {
                     before(grammarAccess.getDefinitionAccess().getConstParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleConst_in_rule__Definition__Alternatives3089);
                    ruleConst();

                    state._fsp--;

                     after(grammarAccess.getDefinitionAccess().getConstParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1477:6: ( ruleTypeDef )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1477:6: ( ruleTypeDef )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1478:1: ruleTypeDef
                    {
                     before(grammarAccess.getDefinitionAccess().getTypeDefParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleTypeDef_in_rule__Definition__Alternatives3106);
                    ruleTypeDef();

                    state._fsp--;

                     after(grammarAccess.getDefinitionAccess().getTypeDefParserRuleCall_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1483:6: ( ruleEnum )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1483:6: ( ruleEnum )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1484:1: ruleEnum
                    {
                     before(grammarAccess.getDefinitionAccess().getEnumParserRuleCall_2()); 
                    pushFollow(FOLLOW_ruleEnum_in_rule__Definition__Alternatives3123);
                    ruleEnum();

                    state._fsp--;

                     after(grammarAccess.getDefinitionAccess().getEnumParserRuleCall_2()); 

                    }


                    }
                    break;
                case 4 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1489:6: ( ruleSenum )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1489:6: ( ruleSenum )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1490:1: ruleSenum
                    {
                     before(grammarAccess.getDefinitionAccess().getSenumParserRuleCall_3()); 
                    pushFollow(FOLLOW_ruleSenum_in_rule__Definition__Alternatives3140);
                    ruleSenum();

                    state._fsp--;

                     after(grammarAccess.getDefinitionAccess().getSenumParserRuleCall_3()); 

                    }


                    }
                    break;
                case 5 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1495:6: ( ruleStruct )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1495:6: ( ruleStruct )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1496:1: ruleStruct
                    {
                     before(grammarAccess.getDefinitionAccess().getStructParserRuleCall_4()); 
                    pushFollow(FOLLOW_ruleStruct_in_rule__Definition__Alternatives3157);
                    ruleStruct();

                    state._fsp--;

                     after(grammarAccess.getDefinitionAccess().getStructParserRuleCall_4()); 

                    }


                    }
                    break;
                case 6 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1501:6: ( ruleUnion )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1501:6: ( ruleUnion )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1502:1: ruleUnion
                    {
                     before(grammarAccess.getDefinitionAccess().getUnionParserRuleCall_5()); 
                    pushFollow(FOLLOW_ruleUnion_in_rule__Definition__Alternatives3174);
                    ruleUnion();

                    state._fsp--;

                     after(grammarAccess.getDefinitionAccess().getUnionParserRuleCall_5()); 

                    }


                    }
                    break;
                case 7 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1507:6: ( ruleException )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1507:6: ( ruleException )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1508:1: ruleException
                    {
                     before(grammarAccess.getDefinitionAccess().getExceptionParserRuleCall_6()); 
                    pushFollow(FOLLOW_ruleException_in_rule__Definition__Alternatives3191);
                    ruleException();

                    state._fsp--;

                     after(grammarAccess.getDefinitionAccess().getExceptionParserRuleCall_6()); 

                    }


                    }
                    break;
                case 8 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1513:6: ( ruleService )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1513:6: ( ruleService )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1514:1: ruleService
                    {
                     before(grammarAccess.getDefinitionAccess().getServiceParserRuleCall_7()); 
                    pushFollow(FOLLOW_ruleService_in_rule__Definition__Alternatives3208);
                    ruleService();

                    state._fsp--;

                     after(grammarAccess.getDefinitionAccess().getServiceParserRuleCall_7()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Definition__Alternatives"


    // $ANTLR start "rule__FieldReq__Alternatives"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1524:1: rule__FieldReq__Alternatives : ( ( 'required' ) | ( 'optional' ) );
    public final void rule__FieldReq__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1528:1: ( ( 'required' ) | ( 'optional' ) )
            int alt5=2;
            int LA5_0 = input.LA(1);

            if ( (LA5_0==16) ) {
                alt5=1;
            }
            else if ( (LA5_0==17) ) {
                alt5=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 5, 0, input);

                throw nvae;
            }
            switch (alt5) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1529:1: ( 'required' )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1529:1: ( 'required' )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1530:1: 'required'
                    {
                     before(grammarAccess.getFieldReqAccess().getRequiredKeyword_0()); 
                    match(input,16,FOLLOW_16_in_rule__FieldReq__Alternatives3241); 
                     after(grammarAccess.getFieldReqAccess().getRequiredKeyword_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1537:6: ( 'optional' )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1537:6: ( 'optional' )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1538:1: 'optional'
                    {
                     before(grammarAccess.getFieldReqAccess().getOptionalKeyword_1()); 
                    match(input,17,FOLLOW_17_in_rule__FieldReq__Alternatives3261); 
                     after(grammarAccess.getFieldReqAccess().getOptionalKeyword_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FieldReq__Alternatives"


    // $ANTLR start "rule__FunctionType__Alternatives"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1550:1: rule__FunctionType__Alternatives : ( ( ( rule__FunctionType__Group_0__0 ) ) | ( ruleFieldType ) );
    public final void rule__FunctionType__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1554:1: ( ( ( rule__FunctionType__Group_0__0 ) ) | ( ruleFieldType ) )
            int alt6=2;
            int LA6_0 = input.LA(1);

            if ( ((LA6_0>=65 && LA6_0<=66)) ) {
                alt6=1;
            }
            else if ( (LA6_0==RULE_ID||(LA6_0>=20 && LA6_0<=28)||LA6_0==56||(LA6_0>=59 && LA6_0<=60)) ) {
                alt6=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 6, 0, input);

                throw nvae;
            }
            switch (alt6) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1555:1: ( ( rule__FunctionType__Group_0__0 ) )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1555:1: ( ( rule__FunctionType__Group_0__0 ) )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1556:1: ( rule__FunctionType__Group_0__0 )
                    {
                     before(grammarAccess.getFunctionTypeAccess().getGroup_0()); 
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1557:1: ( rule__FunctionType__Group_0__0 )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1557:2: rule__FunctionType__Group_0__0
                    {
                    pushFollow(FOLLOW_rule__FunctionType__Group_0__0_in_rule__FunctionType__Alternatives3295);
                    rule__FunctionType__Group_0__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getFunctionTypeAccess().getGroup_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1561:6: ( ruleFieldType )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1561:6: ( ruleFieldType )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1562:1: ruleFieldType
                    {
                     before(grammarAccess.getFunctionTypeAccess().getFieldTypeParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleFieldType_in_rule__FunctionType__Alternatives3313);
                    ruleFieldType();

                    state._fsp--;

                     after(grammarAccess.getFunctionTypeAccess().getFieldTypeParserRuleCall_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionType__Alternatives"


    // $ANTLR start "rule__FieldType__Alternatives"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1572:1: rule__FieldType__Alternatives : ( ( ruleDefinitionRef ) | ( ruleBaseTypeRef ) | ( ruleContainerTypeRef ) );
    public final void rule__FieldType__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1576:1: ( ( ruleDefinitionRef ) | ( ruleBaseTypeRef ) | ( ruleContainerTypeRef ) )
            int alt7=3;
            switch ( input.LA(1) ) {
            case RULE_ID:
                {
                alt7=1;
                }
                break;
            case 20:
            case 21:
            case 22:
            case 23:
            case 24:
            case 25:
            case 26:
            case 27:
            case 28:
                {
                alt7=2;
                }
                break;
            case 56:
            case 59:
            case 60:
                {
                alt7=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 7, 0, input);

                throw nvae;
            }

            switch (alt7) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1577:1: ( ruleDefinitionRef )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1577:1: ( ruleDefinitionRef )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1578:1: ruleDefinitionRef
                    {
                     before(grammarAccess.getFieldTypeAccess().getDefinitionRefParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleDefinitionRef_in_rule__FieldType__Alternatives3345);
                    ruleDefinitionRef();

                    state._fsp--;

                     after(grammarAccess.getFieldTypeAccess().getDefinitionRefParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1583:6: ( ruleBaseTypeRef )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1583:6: ( ruleBaseTypeRef )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1584:1: ruleBaseTypeRef
                    {
                     before(grammarAccess.getFieldTypeAccess().getBaseTypeRefParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleBaseTypeRef_in_rule__FieldType__Alternatives3362);
                    ruleBaseTypeRef();

                    state._fsp--;

                     after(grammarAccess.getFieldTypeAccess().getBaseTypeRefParserRuleCall_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1589:6: ( ruleContainerTypeRef )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1589:6: ( ruleContainerTypeRef )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1590:1: ruleContainerTypeRef
                    {
                     before(grammarAccess.getFieldTypeAccess().getContainerTypeRefParserRuleCall_2()); 
                    pushFollow(FOLLOW_ruleContainerTypeRef_in_rule__FieldType__Alternatives3379);
                    ruleContainerTypeRef();

                    state._fsp--;

                     after(grammarAccess.getFieldTypeAccess().getContainerTypeRefParserRuleCall_2()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FieldType__Alternatives"


    // $ANTLR start "rule__DefinitionType__Alternatives"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1600:1: rule__DefinitionType__Alternatives : ( ( ruleBaseTypeRef ) | ( ruleContainerTypeRef ) );
    public final void rule__DefinitionType__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1604:1: ( ( ruleBaseTypeRef ) | ( ruleContainerTypeRef ) )
            int alt8=2;
            int LA8_0 = input.LA(1);

            if ( ((LA8_0>=20 && LA8_0<=28)) ) {
                alt8=1;
            }
            else if ( (LA8_0==56||(LA8_0>=59 && LA8_0<=60)) ) {
                alt8=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 8, 0, input);

                throw nvae;
            }
            switch (alt8) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1605:1: ( ruleBaseTypeRef )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1605:1: ( ruleBaseTypeRef )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1606:1: ruleBaseTypeRef
                    {
                     before(grammarAccess.getDefinitionTypeAccess().getBaseTypeRefParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleBaseTypeRef_in_rule__DefinitionType__Alternatives3411);
                    ruleBaseTypeRef();

                    state._fsp--;

                     after(grammarAccess.getDefinitionTypeAccess().getBaseTypeRefParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1611:6: ( ruleContainerTypeRef )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1611:6: ( ruleContainerTypeRef )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1612:1: ruleContainerTypeRef
                    {
                     before(grammarAccess.getDefinitionTypeAccess().getContainerTypeRefParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleContainerTypeRef_in_rule__DefinitionType__Alternatives3428);
                    ruleContainerTypeRef();

                    state._fsp--;

                     after(grammarAccess.getDefinitionTypeAccess().getContainerTypeRefParserRuleCall_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DefinitionType__Alternatives"


    // $ANTLR start "rule__ContainerType__Alternatives"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1622:1: rule__ContainerType__Alternatives : ( ( ruleMapType ) | ( ruleSetType ) | ( ruleListType ) );
    public final void rule__ContainerType__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1626:1: ( ( ruleMapType ) | ( ruleSetType ) | ( ruleListType ) )
            int alt9=3;
            switch ( input.LA(1) ) {
            case 56:
                {
                alt9=1;
                }
                break;
            case 59:
                {
                alt9=2;
                }
                break;
            case 60:
                {
                alt9=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 9, 0, input);

                throw nvae;
            }

            switch (alt9) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1627:1: ( ruleMapType )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1627:1: ( ruleMapType )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1628:1: ruleMapType
                    {
                     before(grammarAccess.getContainerTypeAccess().getMapTypeParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleMapType_in_rule__ContainerType__Alternatives3460);
                    ruleMapType();

                    state._fsp--;

                     after(grammarAccess.getContainerTypeAccess().getMapTypeParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1633:6: ( ruleSetType )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1633:6: ( ruleSetType )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1634:1: ruleSetType
                    {
                     before(grammarAccess.getContainerTypeAccess().getSetTypeParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleSetType_in_rule__ContainerType__Alternatives3477);
                    ruleSetType();

                    state._fsp--;

                     after(grammarAccess.getContainerTypeAccess().getSetTypeParserRuleCall_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1639:6: ( ruleListType )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1639:6: ( ruleListType )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1640:1: ruleListType
                    {
                     before(grammarAccess.getContainerTypeAccess().getListTypeParserRuleCall_2()); 
                    pushFollow(FOLLOW_ruleListType_in_rule__ContainerType__Alternatives3494);
                    ruleListType();

                    state._fsp--;

                     after(grammarAccess.getContainerTypeAccess().getListTypeParserRuleCall_2()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContainerType__Alternatives"


    // $ANTLR start "rule__ConstValue__Alternatives"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1650:1: rule__ConstValue__Alternatives : ( ( ruleDefinitionRef ) | ( ruleBooleanRef ) | ( ruleNumberRef ) | ( ruleStringRef ) | ( ruleConstList ) | ( ruleConstMap ) );
    public final void rule__ConstValue__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1654:1: ( ( ruleDefinitionRef ) | ( ruleBooleanRef ) | ( ruleNumberRef ) | ( ruleStringRef ) | ( ruleConstList ) | ( ruleConstMap ) )
            int alt10=6;
            switch ( input.LA(1) ) {
            case RULE_ID:
                {
                alt10=1;
                }
                break;
            case 29:
            case 30:
                {
                alt10=2;
                }
                break;
            case RULE_LONG:
            case RULE_HEX:
            case RULE_DOUBLE:
                {
                alt10=3;
                }
                break;
            case RULE_STRING:
                {
                alt10=4;
                }
                break;
            case 63:
                {
                alt10=5;
                }
                break;
            case 42:
                {
                alt10=6;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 10, 0, input);

                throw nvae;
            }

            switch (alt10) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1655:1: ( ruleDefinitionRef )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1655:1: ( ruleDefinitionRef )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1656:1: ruleDefinitionRef
                    {
                     before(grammarAccess.getConstValueAccess().getDefinitionRefParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleDefinitionRef_in_rule__ConstValue__Alternatives3526);
                    ruleDefinitionRef();

                    state._fsp--;

                     after(grammarAccess.getConstValueAccess().getDefinitionRefParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1661:6: ( ruleBooleanRef )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1661:6: ( ruleBooleanRef )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1662:1: ruleBooleanRef
                    {
                     before(grammarAccess.getConstValueAccess().getBooleanRefParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleBooleanRef_in_rule__ConstValue__Alternatives3543);
                    ruleBooleanRef();

                    state._fsp--;

                     after(grammarAccess.getConstValueAccess().getBooleanRefParserRuleCall_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1667:6: ( ruleNumberRef )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1667:6: ( ruleNumberRef )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1668:1: ruleNumberRef
                    {
                     before(grammarAccess.getConstValueAccess().getNumberRefParserRuleCall_2()); 
                    pushFollow(FOLLOW_ruleNumberRef_in_rule__ConstValue__Alternatives3560);
                    ruleNumberRef();

                    state._fsp--;

                     after(grammarAccess.getConstValueAccess().getNumberRefParserRuleCall_2()); 

                    }


                    }
                    break;
                case 4 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1673:6: ( ruleStringRef )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1673:6: ( ruleStringRef )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1674:1: ruleStringRef
                    {
                     before(grammarAccess.getConstValueAccess().getStringRefParserRuleCall_3()); 
                    pushFollow(FOLLOW_ruleStringRef_in_rule__ConstValue__Alternatives3577);
                    ruleStringRef();

                    state._fsp--;

                     after(grammarAccess.getConstValueAccess().getStringRefParserRuleCall_3()); 

                    }


                    }
                    break;
                case 5 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1679:6: ( ruleConstList )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1679:6: ( ruleConstList )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1680:1: ruleConstList
                    {
                     before(grammarAccess.getConstValueAccess().getConstListParserRuleCall_4()); 
                    pushFollow(FOLLOW_ruleConstList_in_rule__ConstValue__Alternatives3594);
                    ruleConstList();

                    state._fsp--;

                     after(grammarAccess.getConstValueAccess().getConstListParserRuleCall_4()); 

                    }


                    }
                    break;
                case 6 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1685:6: ( ruleConstMap )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1685:6: ( ruleConstMap )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1686:1: ruleConstMap
                    {
                     before(grammarAccess.getConstValueAccess().getConstMapParserRuleCall_5()); 
                    pushFollow(FOLLOW_ruleConstMap_in_rule__ConstValue__Alternatives3611);
                    ruleConstMap();

                    state._fsp--;

                     after(grammarAccess.getConstValueAccess().getConstMapParserRuleCall_5()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstValue__Alternatives"


    // $ANTLR start "rule__NumberRef__Alternatives"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1696:1: rule__NumberRef__Alternatives : ( ( ruleHexRef ) | ( ruleDoubleRef ) | ( ruleLongRef ) );
    public final void rule__NumberRef__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1700:1: ( ( ruleHexRef ) | ( ruleDoubleRef ) | ( ruleLongRef ) )
            int alt11=3;
            switch ( input.LA(1) ) {
            case RULE_HEX:
                {
                alt11=1;
                }
                break;
            case RULE_DOUBLE:
                {
                alt11=2;
                }
                break;
            case RULE_LONG:
                {
                alt11=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 11, 0, input);

                throw nvae;
            }

            switch (alt11) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1701:1: ( ruleHexRef )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1701:1: ( ruleHexRef )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1702:1: ruleHexRef
                    {
                     before(grammarAccess.getNumberRefAccess().getHexRefParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleHexRef_in_rule__NumberRef__Alternatives3643);
                    ruleHexRef();

                    state._fsp--;

                     after(grammarAccess.getNumberRefAccess().getHexRefParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1707:6: ( ruleDoubleRef )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1707:6: ( ruleDoubleRef )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1708:1: ruleDoubleRef
                    {
                     before(grammarAccess.getNumberRefAccess().getDoubleRefParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleDoubleRef_in_rule__NumberRef__Alternatives3660);
                    ruleDoubleRef();

                    state._fsp--;

                     after(grammarAccess.getNumberRefAccess().getDoubleRefParserRuleCall_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1713:6: ( ruleLongRef )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1713:6: ( ruleLongRef )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1714:1: ruleLongRef
                    {
                     before(grammarAccess.getNumberRefAccess().getLongRefParserRuleCall_2()); 
                    pushFollow(FOLLOW_ruleLongRef_in_rule__NumberRef__Alternatives3677);
                    ruleLongRef();

                    state._fsp--;

                     after(grammarAccess.getNumberRefAccess().getLongRefParserRuleCall_2()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NumberRef__Alternatives"


    // $ANTLR start "rule__ConstList__Alternatives"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1724:1: rule__ConstList__Alternatives : ( ( ( rule__ConstList__Group_0__0 ) ) | ( ( rule__ConstList__Group_1__0 ) ) );
    public final void rule__ConstList__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1728:1: ( ( ( rule__ConstList__Group_0__0 ) ) | ( ( rule__ConstList__Group_1__0 ) ) )
            int alt12=2;
            int LA12_0 = input.LA(1);

            if ( (LA12_0==63) ) {
                int LA12_1 = input.LA(2);

                if ( ((LA12_1>=RULE_LONG && LA12_1<=RULE_DOUBLE)||(LA12_1>=29 && LA12_1<=30)||LA12_1==42||LA12_1==63) ) {
                    alt12=2;
                }
                else if ( (LA12_1==62) ) {
                    alt12=1;
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 12, 1, input);

                    throw nvae;
                }
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 12, 0, input);

                throw nvae;
            }
            switch (alt12) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1729:1: ( ( rule__ConstList__Group_0__0 ) )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1729:1: ( ( rule__ConstList__Group_0__0 ) )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1730:1: ( rule__ConstList__Group_0__0 )
                    {
                     before(grammarAccess.getConstListAccess().getGroup_0()); 
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1731:1: ( rule__ConstList__Group_0__0 )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1731:2: rule__ConstList__Group_0__0
                    {
                    pushFollow(FOLLOW_rule__ConstList__Group_0__0_in_rule__ConstList__Alternatives3709);
                    rule__ConstList__Group_0__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getConstListAccess().getGroup_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1735:6: ( ( rule__ConstList__Group_1__0 ) )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1735:6: ( ( rule__ConstList__Group_1__0 ) )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1736:1: ( rule__ConstList__Group_1__0 )
                    {
                     before(grammarAccess.getConstListAccess().getGroup_1()); 
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1737:1: ( rule__ConstList__Group_1__0 )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1737:2: rule__ConstList__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__ConstList__Group_1__0_in_rule__ConstList__Alternatives3727);
                    rule__ConstList__Group_1__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getConstListAccess().getGroup_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstList__Alternatives"


    // $ANTLR start "rule__ConstMap__Alternatives"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1746:1: rule__ConstMap__Alternatives : ( ( ( rule__ConstMap__Group_0__0 ) ) | ( ( rule__ConstMap__Group_1__0 ) ) );
    public final void rule__ConstMap__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1750:1: ( ( ( rule__ConstMap__Group_0__0 ) ) | ( ( rule__ConstMap__Group_1__0 ) ) )
            int alt13=2;
            int LA13_0 = input.LA(1);

            if ( (LA13_0==42) ) {
                int LA13_1 = input.LA(2);

                if ( ((LA13_1>=RULE_LONG && LA13_1<=RULE_DOUBLE)||(LA13_1>=29 && LA13_1<=30)||LA13_1==42||LA13_1==63) ) {
                    alt13=2;
                }
                else if ( (LA13_1==43) ) {
                    alt13=1;
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 13, 1, input);

                    throw nvae;
                }
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 13, 0, input);

                throw nvae;
            }
            switch (alt13) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1751:1: ( ( rule__ConstMap__Group_0__0 ) )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1751:1: ( ( rule__ConstMap__Group_0__0 ) )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1752:1: ( rule__ConstMap__Group_0__0 )
                    {
                     before(grammarAccess.getConstMapAccess().getGroup_0()); 
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1753:1: ( rule__ConstMap__Group_0__0 )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1753:2: rule__ConstMap__Group_0__0
                    {
                    pushFollow(FOLLOW_rule__ConstMap__Group_0__0_in_rule__ConstMap__Alternatives3760);
                    rule__ConstMap__Group_0__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getConstMapAccess().getGroup_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1757:6: ( ( rule__ConstMap__Group_1__0 ) )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1757:6: ( ( rule__ConstMap__Group_1__0 ) )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1758:1: ( rule__ConstMap__Group_1__0 )
                    {
                     before(grammarAccess.getConstMapAccess().getGroup_1()); 
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1759:1: ( rule__ConstMap__Group_1__0 )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1759:2: rule__ConstMap__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__ConstMap__Group_1__0_in_rule__ConstMap__Alternatives3778);
                    rule__ConstMap__Group_1__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getConstMapAccess().getGroup_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstMap__Alternatives"


    // $ANTLR start "rule__ListSeparator__Alternatives"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1768:1: rule__ListSeparator__Alternatives : ( ( ',' ) | ( ';' ) );
    public final void rule__ListSeparator__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1772:1: ( ( ',' ) | ( ';' ) )
            int alt14=2;
            int LA14_0 = input.LA(1);

            if ( (LA14_0==18) ) {
                alt14=1;
            }
            else if ( (LA14_0==19) ) {
                alt14=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 14, 0, input);

                throw nvae;
            }
            switch (alt14) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1773:1: ( ',' )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1773:1: ( ',' )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1774:1: ','
                    {
                     before(grammarAccess.getListSeparatorAccess().getCommaKeyword_0()); 
                    match(input,18,FOLLOW_18_in_rule__ListSeparator__Alternatives3812); 
                     after(grammarAccess.getListSeparatorAccess().getCommaKeyword_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1781:6: ( ';' )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1781:6: ( ';' )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1782:1: ';'
                    {
                     before(grammarAccess.getListSeparatorAccess().getSemicolonKeyword_1()); 
                    match(input,19,FOLLOW_19_in_rule__ListSeparator__Alternatives3832); 
                     after(grammarAccess.getListSeparatorAccess().getSemicolonKeyword_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ListSeparator__Alternatives"


    // $ANTLR start "rule__BaseType__Alternatives"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1794:1: rule__BaseType__Alternatives : ( ( ( 'bool' ) ) | ( ( 'byte' ) ) | ( ( 'i16' ) ) | ( ( 'i32' ) ) | ( ( 'i64' ) ) | ( ( 'double' ) ) | ( ( 'string' ) ) | ( ( 'binary' ) ) | ( ( 'slist' ) ) );
    public final void rule__BaseType__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1798:1: ( ( ( 'bool' ) ) | ( ( 'byte' ) ) | ( ( 'i16' ) ) | ( ( 'i32' ) ) | ( ( 'i64' ) ) | ( ( 'double' ) ) | ( ( 'string' ) ) | ( ( 'binary' ) ) | ( ( 'slist' ) ) )
            int alt15=9;
            switch ( input.LA(1) ) {
            case 20:
                {
                alt15=1;
                }
                break;
            case 21:
                {
                alt15=2;
                }
                break;
            case 22:
                {
                alt15=3;
                }
                break;
            case 23:
                {
                alt15=4;
                }
                break;
            case 24:
                {
                alt15=5;
                }
                break;
            case 25:
                {
                alt15=6;
                }
                break;
            case 26:
                {
                alt15=7;
                }
                break;
            case 27:
                {
                alt15=8;
                }
                break;
            case 28:
                {
                alt15=9;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 15, 0, input);

                throw nvae;
            }

            switch (alt15) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1799:1: ( ( 'bool' ) )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1799:1: ( ( 'bool' ) )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1800:1: ( 'bool' )
                    {
                     before(grammarAccess.getBaseTypeAccess().getBoolEnumLiteralDeclaration_0()); 
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1801:1: ( 'bool' )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1801:3: 'bool'
                    {
                    match(input,20,FOLLOW_20_in_rule__BaseType__Alternatives3867); 

                    }

                     after(grammarAccess.getBaseTypeAccess().getBoolEnumLiteralDeclaration_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1806:6: ( ( 'byte' ) )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1806:6: ( ( 'byte' ) )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1807:1: ( 'byte' )
                    {
                     before(grammarAccess.getBaseTypeAccess().getByteEnumLiteralDeclaration_1()); 
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1808:1: ( 'byte' )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1808:3: 'byte'
                    {
                    match(input,21,FOLLOW_21_in_rule__BaseType__Alternatives3888); 

                    }

                     after(grammarAccess.getBaseTypeAccess().getByteEnumLiteralDeclaration_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1813:6: ( ( 'i16' ) )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1813:6: ( ( 'i16' ) )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1814:1: ( 'i16' )
                    {
                     before(grammarAccess.getBaseTypeAccess().getI16EnumLiteralDeclaration_2()); 
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1815:1: ( 'i16' )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1815:3: 'i16'
                    {
                    match(input,22,FOLLOW_22_in_rule__BaseType__Alternatives3909); 

                    }

                     after(grammarAccess.getBaseTypeAccess().getI16EnumLiteralDeclaration_2()); 

                    }


                    }
                    break;
                case 4 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1820:6: ( ( 'i32' ) )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1820:6: ( ( 'i32' ) )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1821:1: ( 'i32' )
                    {
                     before(grammarAccess.getBaseTypeAccess().getI32EnumLiteralDeclaration_3()); 
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1822:1: ( 'i32' )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1822:3: 'i32'
                    {
                    match(input,23,FOLLOW_23_in_rule__BaseType__Alternatives3930); 

                    }

                     after(grammarAccess.getBaseTypeAccess().getI32EnumLiteralDeclaration_3()); 

                    }


                    }
                    break;
                case 5 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1827:6: ( ( 'i64' ) )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1827:6: ( ( 'i64' ) )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1828:1: ( 'i64' )
                    {
                     before(grammarAccess.getBaseTypeAccess().getI64EnumLiteralDeclaration_4()); 
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1829:1: ( 'i64' )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1829:3: 'i64'
                    {
                    match(input,24,FOLLOW_24_in_rule__BaseType__Alternatives3951); 

                    }

                     after(grammarAccess.getBaseTypeAccess().getI64EnumLiteralDeclaration_4()); 

                    }


                    }
                    break;
                case 6 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1834:6: ( ( 'double' ) )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1834:6: ( ( 'double' ) )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1835:1: ( 'double' )
                    {
                     before(grammarAccess.getBaseTypeAccess().getDoubleEnumLiteralDeclaration_5()); 
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1836:1: ( 'double' )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1836:3: 'double'
                    {
                    match(input,25,FOLLOW_25_in_rule__BaseType__Alternatives3972); 

                    }

                     after(grammarAccess.getBaseTypeAccess().getDoubleEnumLiteralDeclaration_5()); 

                    }


                    }
                    break;
                case 7 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1841:6: ( ( 'string' ) )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1841:6: ( ( 'string' ) )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1842:1: ( 'string' )
                    {
                     before(grammarAccess.getBaseTypeAccess().getStringEnumLiteralDeclaration_6()); 
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1843:1: ( 'string' )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1843:3: 'string'
                    {
                    match(input,26,FOLLOW_26_in_rule__BaseType__Alternatives3993); 

                    }

                     after(grammarAccess.getBaseTypeAccess().getStringEnumLiteralDeclaration_6()); 

                    }


                    }
                    break;
                case 8 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1848:6: ( ( 'binary' ) )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1848:6: ( ( 'binary' ) )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1849:1: ( 'binary' )
                    {
                     before(grammarAccess.getBaseTypeAccess().getBinaryEnumLiteralDeclaration_7()); 
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1850:1: ( 'binary' )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1850:3: 'binary'
                    {
                    match(input,27,FOLLOW_27_in_rule__BaseType__Alternatives4014); 

                    }

                     after(grammarAccess.getBaseTypeAccess().getBinaryEnumLiteralDeclaration_7()); 

                    }


                    }
                    break;
                case 9 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1855:6: ( ( 'slist' ) )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1855:6: ( ( 'slist' ) )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1856:1: ( 'slist' )
                    {
                     before(grammarAccess.getBaseTypeAccess().getSlistEnumLiteralDeclaration_8()); 
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1857:1: ( 'slist' )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1857:3: 'slist'
                    {
                    match(input,28,FOLLOW_28_in_rule__BaseType__Alternatives4035); 

                    }

                     after(grammarAccess.getBaseTypeAccess().getSlistEnumLiteralDeclaration_8()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BaseType__Alternatives"


    // $ANTLR start "rule__BOOL__Alternatives"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1867:1: rule__BOOL__Alternatives : ( ( ( 'false' ) ) | ( ( 'true' ) ) );
    public final void rule__BOOL__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1871:1: ( ( ( 'false' ) ) | ( ( 'true' ) ) )
            int alt16=2;
            int LA16_0 = input.LA(1);

            if ( (LA16_0==29) ) {
                alt16=1;
            }
            else if ( (LA16_0==30) ) {
                alt16=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 16, 0, input);

                throw nvae;
            }
            switch (alt16) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1872:1: ( ( 'false' ) )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1872:1: ( ( 'false' ) )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1873:1: ( 'false' )
                    {
                     before(grammarAccess.getBOOLAccess().getFalseEnumLiteralDeclaration_0()); 
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1874:1: ( 'false' )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1874:3: 'false'
                    {
                    match(input,29,FOLLOW_29_in_rule__BOOL__Alternatives4071); 

                    }

                     after(grammarAccess.getBOOLAccess().getFalseEnumLiteralDeclaration_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1879:6: ( ( 'true' ) )
                    {
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1879:6: ( ( 'true' ) )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1880:1: ( 'true' )
                    {
                     before(grammarAccess.getBOOLAccess().getTrueEnumLiteralDeclaration_1()); 
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1881:1: ( 'true' )
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1881:3: 'true'
                    {
                    match(input,30,FOLLOW_30_in_rule__BOOL__Alternatives4092); 

                    }

                     after(grammarAccess.getBOOLAccess().getTrueEnumLiteralDeclaration_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BOOL__Alternatives"


    // $ANTLR start "rule__Thrift__Group__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1893:1: rule__Thrift__Group__0 : rule__Thrift__Group__0__Impl rule__Thrift__Group__1 ;
    public final void rule__Thrift__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1897:1: ( rule__Thrift__Group__0__Impl rule__Thrift__Group__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1898:2: rule__Thrift__Group__0__Impl rule__Thrift__Group__1
            {
            pushFollow(FOLLOW_rule__Thrift__Group__0__Impl_in_rule__Thrift__Group__04125);
            rule__Thrift__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Thrift__Group__1_in_rule__Thrift__Group__04128);
            rule__Thrift__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Thrift__Group__0"


    // $ANTLR start "rule__Thrift__Group__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1905:1: rule__Thrift__Group__0__Impl : ( ( rule__Thrift__HeadersAssignment_0 )* ) ;
    public final void rule__Thrift__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1909:1: ( ( ( rule__Thrift__HeadersAssignment_0 )* ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1910:1: ( ( rule__Thrift__HeadersAssignment_0 )* )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1910:1: ( ( rule__Thrift__HeadersAssignment_0 )* )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1911:1: ( rule__Thrift__HeadersAssignment_0 )*
            {
             before(grammarAccess.getThriftAccess().getHeadersAssignment_0()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1912:1: ( rule__Thrift__HeadersAssignment_0 )*
            loop17:
            do {
                int alt17=2;
                int LA17_0 = input.LA(1);

                if ( ((LA17_0>=31 && LA17_0<=35)) ) {
                    alt17=1;
                }


                switch (alt17) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1912:2: rule__Thrift__HeadersAssignment_0
            	    {
            	    pushFollow(FOLLOW_rule__Thrift__HeadersAssignment_0_in_rule__Thrift__Group__0__Impl4155);
            	    rule__Thrift__HeadersAssignment_0();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop17;
                }
            } while (true);

             after(grammarAccess.getThriftAccess().getHeadersAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Thrift__Group__0__Impl"


    // $ANTLR start "rule__Thrift__Group__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1922:1: rule__Thrift__Group__1 : rule__Thrift__Group__1__Impl ;
    public final void rule__Thrift__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1926:1: ( rule__Thrift__Group__1__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1927:2: rule__Thrift__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Thrift__Group__1__Impl_in_rule__Thrift__Group__14186);
            rule__Thrift__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Thrift__Group__1"


    // $ANTLR start "rule__Thrift__Group__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1933:1: rule__Thrift__Group__1__Impl : ( ( rule__Thrift__DefinitionsAssignment_1 )* ) ;
    public final void rule__Thrift__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1937:1: ( ( ( rule__Thrift__DefinitionsAssignment_1 )* ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1938:1: ( ( rule__Thrift__DefinitionsAssignment_1 )* )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1938:1: ( ( rule__Thrift__DefinitionsAssignment_1 )* )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1939:1: ( rule__Thrift__DefinitionsAssignment_1 )*
            {
             before(grammarAccess.getThriftAccess().getDefinitionsAssignment_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1940:1: ( rule__Thrift__DefinitionsAssignment_1 )*
            loop18:
            do {
                int alt18=2;
                int LA18_0 = input.LA(1);

                if ( (LA18_0==36||LA18_0==38||LA18_0==41||(LA18_0>=44 && LA18_0<=45)||(LA18_0>=47 && LA18_0<=49)) ) {
                    alt18=1;
                }


                switch (alt18) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1940:2: rule__Thrift__DefinitionsAssignment_1
            	    {
            	    pushFollow(FOLLOW_rule__Thrift__DefinitionsAssignment_1_in_rule__Thrift__Group__1__Impl4213);
            	    rule__Thrift__DefinitionsAssignment_1();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop18;
                }
            } while (true);

             after(grammarAccess.getThriftAccess().getDefinitionsAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Thrift__Group__1__Impl"


    // $ANTLR start "rule__Include__Group__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1954:1: rule__Include__Group__0 : rule__Include__Group__0__Impl rule__Include__Group__1 ;
    public final void rule__Include__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1958:1: ( rule__Include__Group__0__Impl rule__Include__Group__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1959:2: rule__Include__Group__0__Impl rule__Include__Group__1
            {
            pushFollow(FOLLOW_rule__Include__Group__0__Impl_in_rule__Include__Group__04248);
            rule__Include__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Include__Group__1_in_rule__Include__Group__04251);
            rule__Include__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Include__Group__0"


    // $ANTLR start "rule__Include__Group__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1966:1: rule__Include__Group__0__Impl : ( 'include' ) ;
    public final void rule__Include__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1970:1: ( ( 'include' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1971:1: ( 'include' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1971:1: ( 'include' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1972:1: 'include'
            {
             before(grammarAccess.getIncludeAccess().getIncludeKeyword_0()); 
            match(input,31,FOLLOW_31_in_rule__Include__Group__0__Impl4279); 
             after(grammarAccess.getIncludeAccess().getIncludeKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Include__Group__0__Impl"


    // $ANTLR start "rule__Include__Group__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1985:1: rule__Include__Group__1 : rule__Include__Group__1__Impl ;
    public final void rule__Include__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1989:1: ( rule__Include__Group__1__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1990:2: rule__Include__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Include__Group__1__Impl_in_rule__Include__Group__14310);
            rule__Include__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Include__Group__1"


    // $ANTLR start "rule__Include__Group__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:1996:1: rule__Include__Group__1__Impl : ( ( rule__Include__ImportURIAssignment_1 ) ) ;
    public final void rule__Include__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2000:1: ( ( ( rule__Include__ImportURIAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2001:1: ( ( rule__Include__ImportURIAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2001:1: ( ( rule__Include__ImportURIAssignment_1 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2002:1: ( rule__Include__ImportURIAssignment_1 )
            {
             before(grammarAccess.getIncludeAccess().getImportURIAssignment_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2003:1: ( rule__Include__ImportURIAssignment_1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2003:2: rule__Include__ImportURIAssignment_1
            {
            pushFollow(FOLLOW_rule__Include__ImportURIAssignment_1_in_rule__Include__Group__1__Impl4337);
            rule__Include__ImportURIAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getIncludeAccess().getImportURIAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Include__Group__1__Impl"


    // $ANTLR start "rule__CppInclude__Group__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2017:1: rule__CppInclude__Group__0 : rule__CppInclude__Group__0__Impl rule__CppInclude__Group__1 ;
    public final void rule__CppInclude__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2021:1: ( rule__CppInclude__Group__0__Impl rule__CppInclude__Group__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2022:2: rule__CppInclude__Group__0__Impl rule__CppInclude__Group__1
            {
            pushFollow(FOLLOW_rule__CppInclude__Group__0__Impl_in_rule__CppInclude__Group__04371);
            rule__CppInclude__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__CppInclude__Group__1_in_rule__CppInclude__Group__04374);
            rule__CppInclude__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CppInclude__Group__0"


    // $ANTLR start "rule__CppInclude__Group__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2029:1: rule__CppInclude__Group__0__Impl : ( 'cpp_include' ) ;
    public final void rule__CppInclude__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2033:1: ( ( 'cpp_include' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2034:1: ( 'cpp_include' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2034:1: ( 'cpp_include' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2035:1: 'cpp_include'
            {
             before(grammarAccess.getCppIncludeAccess().getCpp_includeKeyword_0()); 
            match(input,32,FOLLOW_32_in_rule__CppInclude__Group__0__Impl4402); 
             after(grammarAccess.getCppIncludeAccess().getCpp_includeKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CppInclude__Group__0__Impl"


    // $ANTLR start "rule__CppInclude__Group__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2048:1: rule__CppInclude__Group__1 : rule__CppInclude__Group__1__Impl ;
    public final void rule__CppInclude__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2052:1: ( rule__CppInclude__Group__1__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2053:2: rule__CppInclude__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__CppInclude__Group__1__Impl_in_rule__CppInclude__Group__14433);
            rule__CppInclude__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CppInclude__Group__1"


    // $ANTLR start "rule__CppInclude__Group__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2059:1: rule__CppInclude__Group__1__Impl : ( ( rule__CppInclude__ImportURIAssignment_1 ) ) ;
    public final void rule__CppInclude__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2063:1: ( ( ( rule__CppInclude__ImportURIAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2064:1: ( ( rule__CppInclude__ImportURIAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2064:1: ( ( rule__CppInclude__ImportURIAssignment_1 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2065:1: ( rule__CppInclude__ImportURIAssignment_1 )
            {
             before(grammarAccess.getCppIncludeAccess().getImportURIAssignment_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2066:1: ( rule__CppInclude__ImportURIAssignment_1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2066:2: rule__CppInclude__ImportURIAssignment_1
            {
            pushFollow(FOLLOW_rule__CppInclude__ImportURIAssignment_1_in_rule__CppInclude__Group__1__Impl4460);
            rule__CppInclude__ImportURIAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getCppIncludeAccess().getImportURIAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CppInclude__Group__1__Impl"


    // $ANTLR start "rule__Namespace__Group_0__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2080:1: rule__Namespace__Group_0__0 : rule__Namespace__Group_0__0__Impl rule__Namespace__Group_0__1 ;
    public final void rule__Namespace__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2084:1: ( rule__Namespace__Group_0__0__Impl rule__Namespace__Group_0__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2085:2: rule__Namespace__Group_0__0__Impl rule__Namespace__Group_0__1
            {
            pushFollow(FOLLOW_rule__Namespace__Group_0__0__Impl_in_rule__Namespace__Group_0__04494);
            rule__Namespace__Group_0__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Namespace__Group_0__1_in_rule__Namespace__Group_0__04497);
            rule__Namespace__Group_0__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Namespace__Group_0__0"


    // $ANTLR start "rule__Namespace__Group_0__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2092:1: rule__Namespace__Group_0__0__Impl : ( 'namespace' ) ;
    public final void rule__Namespace__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2096:1: ( ( 'namespace' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2097:1: ( 'namespace' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2097:1: ( 'namespace' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2098:1: 'namespace'
            {
             before(grammarAccess.getNamespaceAccess().getNamespaceKeyword_0_0()); 
            match(input,33,FOLLOW_33_in_rule__Namespace__Group_0__0__Impl4525); 
             after(grammarAccess.getNamespaceAccess().getNamespaceKeyword_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Namespace__Group_0__0__Impl"


    // $ANTLR start "rule__Namespace__Group_0__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2111:1: rule__Namespace__Group_0__1 : rule__Namespace__Group_0__1__Impl ;
    public final void rule__Namespace__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2115:1: ( rule__Namespace__Group_0__1__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2116:2: rule__Namespace__Group_0__1__Impl
            {
            pushFollow(FOLLOW_rule__Namespace__Group_0__1__Impl_in_rule__Namespace__Group_0__14556);
            rule__Namespace__Group_0__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Namespace__Group_0__1"


    // $ANTLR start "rule__Namespace__Group_0__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2122:1: rule__Namespace__Group_0__1__Impl : ( ( rule__Namespace__Group_0_1__0 ) ) ;
    public final void rule__Namespace__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2126:1: ( ( ( rule__Namespace__Group_0_1__0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2127:1: ( ( rule__Namespace__Group_0_1__0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2127:1: ( ( rule__Namespace__Group_0_1__0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2128:1: ( rule__Namespace__Group_0_1__0 )
            {
             before(grammarAccess.getNamespaceAccess().getGroup_0_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2129:1: ( rule__Namespace__Group_0_1__0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2129:2: rule__Namespace__Group_0_1__0
            {
            pushFollow(FOLLOW_rule__Namespace__Group_0_1__0_in_rule__Namespace__Group_0__1__Impl4583);
            rule__Namespace__Group_0_1__0();

            state._fsp--;


            }

             after(grammarAccess.getNamespaceAccess().getGroup_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Namespace__Group_0__1__Impl"


    // $ANTLR start "rule__Namespace__Group_0_1__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2143:1: rule__Namespace__Group_0_1__0 : rule__Namespace__Group_0_1__0__Impl rule__Namespace__Group_0_1__1 ;
    public final void rule__Namespace__Group_0_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2147:1: ( rule__Namespace__Group_0_1__0__Impl rule__Namespace__Group_0_1__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2148:2: rule__Namespace__Group_0_1__0__Impl rule__Namespace__Group_0_1__1
            {
            pushFollow(FOLLOW_rule__Namespace__Group_0_1__0__Impl_in_rule__Namespace__Group_0_1__04617);
            rule__Namespace__Group_0_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Namespace__Group_0_1__1_in_rule__Namespace__Group_0_1__04620);
            rule__Namespace__Group_0_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Namespace__Group_0_1__0"


    // $ANTLR start "rule__Namespace__Group_0_1__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2155:1: rule__Namespace__Group_0_1__0__Impl : ( ( rule__Namespace__NamespaceScopeAssignment_0_1_0 ) ) ;
    public final void rule__Namespace__Group_0_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2159:1: ( ( ( rule__Namespace__NamespaceScopeAssignment_0_1_0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2160:1: ( ( rule__Namespace__NamespaceScopeAssignment_0_1_0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2160:1: ( ( rule__Namespace__NamespaceScopeAssignment_0_1_0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2161:1: ( rule__Namespace__NamespaceScopeAssignment_0_1_0 )
            {
             before(grammarAccess.getNamespaceAccess().getNamespaceScopeAssignment_0_1_0()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2162:1: ( rule__Namespace__NamespaceScopeAssignment_0_1_0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2162:2: rule__Namespace__NamespaceScopeAssignment_0_1_0
            {
            pushFollow(FOLLOW_rule__Namespace__NamespaceScopeAssignment_0_1_0_in_rule__Namespace__Group_0_1__0__Impl4647);
            rule__Namespace__NamespaceScopeAssignment_0_1_0();

            state._fsp--;


            }

             after(grammarAccess.getNamespaceAccess().getNamespaceScopeAssignment_0_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Namespace__Group_0_1__0__Impl"


    // $ANTLR start "rule__Namespace__Group_0_1__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2172:1: rule__Namespace__Group_0_1__1 : rule__Namespace__Group_0_1__1__Impl ;
    public final void rule__Namespace__Group_0_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2176:1: ( rule__Namespace__Group_0_1__1__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2177:2: rule__Namespace__Group_0_1__1__Impl
            {
            pushFollow(FOLLOW_rule__Namespace__Group_0_1__1__Impl_in_rule__Namespace__Group_0_1__14677);
            rule__Namespace__Group_0_1__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Namespace__Group_0_1__1"


    // $ANTLR start "rule__Namespace__Group_0_1__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2183:1: rule__Namespace__Group_0_1__1__Impl : ( ( rule__Namespace__NamespaceURIAssignment_0_1_1 ) ) ;
    public final void rule__Namespace__Group_0_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2187:1: ( ( ( rule__Namespace__NamespaceURIAssignment_0_1_1 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2188:1: ( ( rule__Namespace__NamespaceURIAssignment_0_1_1 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2188:1: ( ( rule__Namespace__NamespaceURIAssignment_0_1_1 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2189:1: ( rule__Namespace__NamespaceURIAssignment_0_1_1 )
            {
             before(grammarAccess.getNamespaceAccess().getNamespaceURIAssignment_0_1_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2190:1: ( rule__Namespace__NamespaceURIAssignment_0_1_1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2190:2: rule__Namespace__NamespaceURIAssignment_0_1_1
            {
            pushFollow(FOLLOW_rule__Namespace__NamespaceURIAssignment_0_1_1_in_rule__Namespace__Group_0_1__1__Impl4704);
            rule__Namespace__NamespaceURIAssignment_0_1_1();

            state._fsp--;


            }

             after(grammarAccess.getNamespaceAccess().getNamespaceURIAssignment_0_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Namespace__Group_0_1__1__Impl"


    // $ANTLR start "rule__Namespace__Group_1__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2204:1: rule__Namespace__Group_1__0 : rule__Namespace__Group_1__0__Impl rule__Namespace__Group_1__1 ;
    public final void rule__Namespace__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2208:1: ( rule__Namespace__Group_1__0__Impl rule__Namespace__Group_1__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2209:2: rule__Namespace__Group_1__0__Impl rule__Namespace__Group_1__1
            {
            pushFollow(FOLLOW_rule__Namespace__Group_1__0__Impl_in_rule__Namespace__Group_1__04738);
            rule__Namespace__Group_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Namespace__Group_1__1_in_rule__Namespace__Group_1__04741);
            rule__Namespace__Group_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Namespace__Group_1__0"


    // $ANTLR start "rule__Namespace__Group_1__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2216:1: rule__Namespace__Group_1__0__Impl : ( 'php_namespace' ) ;
    public final void rule__Namespace__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2220:1: ( ( 'php_namespace' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2221:1: ( 'php_namespace' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2221:1: ( 'php_namespace' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2222:1: 'php_namespace'
            {
             before(grammarAccess.getNamespaceAccess().getPhp_namespaceKeyword_1_0()); 
            match(input,34,FOLLOW_34_in_rule__Namespace__Group_1__0__Impl4769); 
             after(grammarAccess.getNamespaceAccess().getPhp_namespaceKeyword_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Namespace__Group_1__0__Impl"


    // $ANTLR start "rule__Namespace__Group_1__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2235:1: rule__Namespace__Group_1__1 : rule__Namespace__Group_1__1__Impl ;
    public final void rule__Namespace__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2239:1: ( rule__Namespace__Group_1__1__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2240:2: rule__Namespace__Group_1__1__Impl
            {
            pushFollow(FOLLOW_rule__Namespace__Group_1__1__Impl_in_rule__Namespace__Group_1__14800);
            rule__Namespace__Group_1__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Namespace__Group_1__1"


    // $ANTLR start "rule__Namespace__Group_1__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2246:1: rule__Namespace__Group_1__1__Impl : ( ( rule__Namespace__NamespaceURIAssignment_1_1 ) ) ;
    public final void rule__Namespace__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2250:1: ( ( ( rule__Namespace__NamespaceURIAssignment_1_1 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2251:1: ( ( rule__Namespace__NamespaceURIAssignment_1_1 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2251:1: ( ( rule__Namespace__NamespaceURIAssignment_1_1 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2252:1: ( rule__Namespace__NamespaceURIAssignment_1_1 )
            {
             before(grammarAccess.getNamespaceAccess().getNamespaceURIAssignment_1_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2253:1: ( rule__Namespace__NamespaceURIAssignment_1_1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2253:2: rule__Namespace__NamespaceURIAssignment_1_1
            {
            pushFollow(FOLLOW_rule__Namespace__NamespaceURIAssignment_1_1_in_rule__Namespace__Group_1__1__Impl4827);
            rule__Namespace__NamespaceURIAssignment_1_1();

            state._fsp--;


            }

             after(grammarAccess.getNamespaceAccess().getNamespaceURIAssignment_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Namespace__Group_1__1__Impl"


    // $ANTLR start "rule__Namespace__Group_2__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2267:1: rule__Namespace__Group_2__0 : rule__Namespace__Group_2__0__Impl rule__Namespace__Group_2__1 ;
    public final void rule__Namespace__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2271:1: ( rule__Namespace__Group_2__0__Impl rule__Namespace__Group_2__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2272:2: rule__Namespace__Group_2__0__Impl rule__Namespace__Group_2__1
            {
            pushFollow(FOLLOW_rule__Namespace__Group_2__0__Impl_in_rule__Namespace__Group_2__04861);
            rule__Namespace__Group_2__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Namespace__Group_2__1_in_rule__Namespace__Group_2__04864);
            rule__Namespace__Group_2__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Namespace__Group_2__0"


    // $ANTLR start "rule__Namespace__Group_2__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2279:1: rule__Namespace__Group_2__0__Impl : ( 'xsd_namespace' ) ;
    public final void rule__Namespace__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2283:1: ( ( 'xsd_namespace' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2284:1: ( 'xsd_namespace' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2284:1: ( 'xsd_namespace' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2285:1: 'xsd_namespace'
            {
             before(grammarAccess.getNamespaceAccess().getXsd_namespaceKeyword_2_0()); 
            match(input,35,FOLLOW_35_in_rule__Namespace__Group_2__0__Impl4892); 
             after(grammarAccess.getNamespaceAccess().getXsd_namespaceKeyword_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Namespace__Group_2__0__Impl"


    // $ANTLR start "rule__Namespace__Group_2__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2298:1: rule__Namespace__Group_2__1 : rule__Namespace__Group_2__1__Impl ;
    public final void rule__Namespace__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2302:1: ( rule__Namespace__Group_2__1__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2303:2: rule__Namespace__Group_2__1__Impl
            {
            pushFollow(FOLLOW_rule__Namespace__Group_2__1__Impl_in_rule__Namespace__Group_2__14923);
            rule__Namespace__Group_2__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Namespace__Group_2__1"


    // $ANTLR start "rule__Namespace__Group_2__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2309:1: rule__Namespace__Group_2__1__Impl : ( ( rule__Namespace__NamespaceURIAssignment_2_1 ) ) ;
    public final void rule__Namespace__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2313:1: ( ( ( rule__Namespace__NamespaceURIAssignment_2_1 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2314:1: ( ( rule__Namespace__NamespaceURIAssignment_2_1 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2314:1: ( ( rule__Namespace__NamespaceURIAssignment_2_1 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2315:1: ( rule__Namespace__NamespaceURIAssignment_2_1 )
            {
             before(grammarAccess.getNamespaceAccess().getNamespaceURIAssignment_2_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2316:1: ( rule__Namespace__NamespaceURIAssignment_2_1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2316:2: rule__Namespace__NamespaceURIAssignment_2_1
            {
            pushFollow(FOLLOW_rule__Namespace__NamespaceURIAssignment_2_1_in_rule__Namespace__Group_2__1__Impl4950);
            rule__Namespace__NamespaceURIAssignment_2_1();

            state._fsp--;


            }

             after(grammarAccess.getNamespaceAccess().getNamespaceURIAssignment_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Namespace__Group_2__1__Impl"


    // $ANTLR start "rule__Const__Group__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2330:1: rule__Const__Group__0 : rule__Const__Group__0__Impl rule__Const__Group__1 ;
    public final void rule__Const__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2334:1: ( rule__Const__Group__0__Impl rule__Const__Group__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2335:2: rule__Const__Group__0__Impl rule__Const__Group__1
            {
            pushFollow(FOLLOW_rule__Const__Group__0__Impl_in_rule__Const__Group__04984);
            rule__Const__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Const__Group__1_in_rule__Const__Group__04987);
            rule__Const__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Const__Group__0"


    // $ANTLR start "rule__Const__Group__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2342:1: rule__Const__Group__0__Impl : ( 'const' ) ;
    public final void rule__Const__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2346:1: ( ( 'const' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2347:1: ( 'const' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2347:1: ( 'const' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2348:1: 'const'
            {
             before(grammarAccess.getConstAccess().getConstKeyword_0()); 
            match(input,36,FOLLOW_36_in_rule__Const__Group__0__Impl5015); 
             after(grammarAccess.getConstAccess().getConstKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Const__Group__0__Impl"


    // $ANTLR start "rule__Const__Group__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2361:1: rule__Const__Group__1 : rule__Const__Group__1__Impl rule__Const__Group__2 ;
    public final void rule__Const__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2365:1: ( rule__Const__Group__1__Impl rule__Const__Group__2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2366:2: rule__Const__Group__1__Impl rule__Const__Group__2
            {
            pushFollow(FOLLOW_rule__Const__Group__1__Impl_in_rule__Const__Group__15046);
            rule__Const__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Const__Group__2_in_rule__Const__Group__15049);
            rule__Const__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Const__Group__1"


    // $ANTLR start "rule__Const__Group__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2373:1: rule__Const__Group__1__Impl : ( ( rule__Const__TypeAssignment_1 ) ) ;
    public final void rule__Const__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2377:1: ( ( ( rule__Const__TypeAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2378:1: ( ( rule__Const__TypeAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2378:1: ( ( rule__Const__TypeAssignment_1 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2379:1: ( rule__Const__TypeAssignment_1 )
            {
             before(grammarAccess.getConstAccess().getTypeAssignment_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2380:1: ( rule__Const__TypeAssignment_1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2380:2: rule__Const__TypeAssignment_1
            {
            pushFollow(FOLLOW_rule__Const__TypeAssignment_1_in_rule__Const__Group__1__Impl5076);
            rule__Const__TypeAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getConstAccess().getTypeAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Const__Group__1__Impl"


    // $ANTLR start "rule__Const__Group__2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2390:1: rule__Const__Group__2 : rule__Const__Group__2__Impl rule__Const__Group__3 ;
    public final void rule__Const__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2394:1: ( rule__Const__Group__2__Impl rule__Const__Group__3 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2395:2: rule__Const__Group__2__Impl rule__Const__Group__3
            {
            pushFollow(FOLLOW_rule__Const__Group__2__Impl_in_rule__Const__Group__25106);
            rule__Const__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Const__Group__3_in_rule__Const__Group__25109);
            rule__Const__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Const__Group__2"


    // $ANTLR start "rule__Const__Group__2__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2402:1: rule__Const__Group__2__Impl : ( ( rule__Const__NameAssignment_2 ) ) ;
    public final void rule__Const__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2406:1: ( ( ( rule__Const__NameAssignment_2 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2407:1: ( ( rule__Const__NameAssignment_2 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2407:1: ( ( rule__Const__NameAssignment_2 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2408:1: ( rule__Const__NameAssignment_2 )
            {
             before(grammarAccess.getConstAccess().getNameAssignment_2()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2409:1: ( rule__Const__NameAssignment_2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2409:2: rule__Const__NameAssignment_2
            {
            pushFollow(FOLLOW_rule__Const__NameAssignment_2_in_rule__Const__Group__2__Impl5136);
            rule__Const__NameAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getConstAccess().getNameAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Const__Group__2__Impl"


    // $ANTLR start "rule__Const__Group__3"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2419:1: rule__Const__Group__3 : rule__Const__Group__3__Impl rule__Const__Group__4 ;
    public final void rule__Const__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2423:1: ( rule__Const__Group__3__Impl rule__Const__Group__4 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2424:2: rule__Const__Group__3__Impl rule__Const__Group__4
            {
            pushFollow(FOLLOW_rule__Const__Group__3__Impl_in_rule__Const__Group__35166);
            rule__Const__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Const__Group__4_in_rule__Const__Group__35169);
            rule__Const__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Const__Group__3"


    // $ANTLR start "rule__Const__Group__3__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2431:1: rule__Const__Group__3__Impl : ( '=' ) ;
    public final void rule__Const__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2435:1: ( ( '=' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2436:1: ( '=' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2436:1: ( '=' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2437:1: '='
            {
             before(grammarAccess.getConstAccess().getEqualsSignKeyword_3()); 
            match(input,37,FOLLOW_37_in_rule__Const__Group__3__Impl5197); 
             after(grammarAccess.getConstAccess().getEqualsSignKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Const__Group__3__Impl"


    // $ANTLR start "rule__Const__Group__4"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2450:1: rule__Const__Group__4 : rule__Const__Group__4__Impl rule__Const__Group__5 ;
    public final void rule__Const__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2454:1: ( rule__Const__Group__4__Impl rule__Const__Group__5 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2455:2: rule__Const__Group__4__Impl rule__Const__Group__5
            {
            pushFollow(FOLLOW_rule__Const__Group__4__Impl_in_rule__Const__Group__45228);
            rule__Const__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Const__Group__5_in_rule__Const__Group__45231);
            rule__Const__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Const__Group__4"


    // $ANTLR start "rule__Const__Group__4__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2462:1: rule__Const__Group__4__Impl : ( ( rule__Const__ValueAssignment_4 ) ) ;
    public final void rule__Const__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2466:1: ( ( ( rule__Const__ValueAssignment_4 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2467:1: ( ( rule__Const__ValueAssignment_4 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2467:1: ( ( rule__Const__ValueAssignment_4 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2468:1: ( rule__Const__ValueAssignment_4 )
            {
             before(grammarAccess.getConstAccess().getValueAssignment_4()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2469:1: ( rule__Const__ValueAssignment_4 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2469:2: rule__Const__ValueAssignment_4
            {
            pushFollow(FOLLOW_rule__Const__ValueAssignment_4_in_rule__Const__Group__4__Impl5258);
            rule__Const__ValueAssignment_4();

            state._fsp--;


            }

             after(grammarAccess.getConstAccess().getValueAssignment_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Const__Group__4__Impl"


    // $ANTLR start "rule__Const__Group__5"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2479:1: rule__Const__Group__5 : rule__Const__Group__5__Impl ;
    public final void rule__Const__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2483:1: ( rule__Const__Group__5__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2484:2: rule__Const__Group__5__Impl
            {
            pushFollow(FOLLOW_rule__Const__Group__5__Impl_in_rule__Const__Group__55288);
            rule__Const__Group__5__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Const__Group__5"


    // $ANTLR start "rule__Const__Group__5__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2490:1: rule__Const__Group__5__Impl : ( ( ruleListSeparator )? ) ;
    public final void rule__Const__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2494:1: ( ( ( ruleListSeparator )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2495:1: ( ( ruleListSeparator )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2495:1: ( ( ruleListSeparator )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2496:1: ( ruleListSeparator )?
            {
             before(grammarAccess.getConstAccess().getListSeparatorParserRuleCall_5()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2497:1: ( ruleListSeparator )?
            int alt19=2;
            int LA19_0 = input.LA(1);

            if ( ((LA19_0>=18 && LA19_0<=19)) ) {
                alt19=1;
            }
            switch (alt19) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2497:3: ruleListSeparator
                    {
                    pushFollow(FOLLOW_ruleListSeparator_in_rule__Const__Group__5__Impl5316);
                    ruleListSeparator();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getConstAccess().getListSeparatorParserRuleCall_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Const__Group__5__Impl"


    // $ANTLR start "rule__TypeDef__Group__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2519:1: rule__TypeDef__Group__0 : rule__TypeDef__Group__0__Impl rule__TypeDef__Group__1 ;
    public final void rule__TypeDef__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2523:1: ( rule__TypeDef__Group__0__Impl rule__TypeDef__Group__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2524:2: rule__TypeDef__Group__0__Impl rule__TypeDef__Group__1
            {
            pushFollow(FOLLOW_rule__TypeDef__Group__0__Impl_in_rule__TypeDef__Group__05359);
            rule__TypeDef__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__TypeDef__Group__1_in_rule__TypeDef__Group__05362);
            rule__TypeDef__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeDef__Group__0"


    // $ANTLR start "rule__TypeDef__Group__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2531:1: rule__TypeDef__Group__0__Impl : ( 'typedef' ) ;
    public final void rule__TypeDef__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2535:1: ( ( 'typedef' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2536:1: ( 'typedef' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2536:1: ( 'typedef' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2537:1: 'typedef'
            {
             before(grammarAccess.getTypeDefAccess().getTypedefKeyword_0()); 
            match(input,38,FOLLOW_38_in_rule__TypeDef__Group__0__Impl5390); 
             after(grammarAccess.getTypeDefAccess().getTypedefKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeDef__Group__0__Impl"


    // $ANTLR start "rule__TypeDef__Group__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2550:1: rule__TypeDef__Group__1 : rule__TypeDef__Group__1__Impl rule__TypeDef__Group__2 ;
    public final void rule__TypeDef__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2554:1: ( rule__TypeDef__Group__1__Impl rule__TypeDef__Group__2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2555:2: rule__TypeDef__Group__1__Impl rule__TypeDef__Group__2
            {
            pushFollow(FOLLOW_rule__TypeDef__Group__1__Impl_in_rule__TypeDef__Group__15421);
            rule__TypeDef__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__TypeDef__Group__2_in_rule__TypeDef__Group__15424);
            rule__TypeDef__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeDef__Group__1"


    // $ANTLR start "rule__TypeDef__Group__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2562:1: rule__TypeDef__Group__1__Impl : ( ( rule__TypeDef__TypeAssignment_1 ) ) ;
    public final void rule__TypeDef__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2566:1: ( ( ( rule__TypeDef__TypeAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2567:1: ( ( rule__TypeDef__TypeAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2567:1: ( ( rule__TypeDef__TypeAssignment_1 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2568:1: ( rule__TypeDef__TypeAssignment_1 )
            {
             before(grammarAccess.getTypeDefAccess().getTypeAssignment_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2569:1: ( rule__TypeDef__TypeAssignment_1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2569:2: rule__TypeDef__TypeAssignment_1
            {
            pushFollow(FOLLOW_rule__TypeDef__TypeAssignment_1_in_rule__TypeDef__Group__1__Impl5451);
            rule__TypeDef__TypeAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getTypeDefAccess().getTypeAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeDef__Group__1__Impl"


    // $ANTLR start "rule__TypeDef__Group__2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2579:1: rule__TypeDef__Group__2 : rule__TypeDef__Group__2__Impl rule__TypeDef__Group__3 ;
    public final void rule__TypeDef__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2583:1: ( rule__TypeDef__Group__2__Impl rule__TypeDef__Group__3 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2584:2: rule__TypeDef__Group__2__Impl rule__TypeDef__Group__3
            {
            pushFollow(FOLLOW_rule__TypeDef__Group__2__Impl_in_rule__TypeDef__Group__25481);
            rule__TypeDef__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__TypeDef__Group__3_in_rule__TypeDef__Group__25484);
            rule__TypeDef__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeDef__Group__2"


    // $ANTLR start "rule__TypeDef__Group__2__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2591:1: rule__TypeDef__Group__2__Impl : ( ( rule__TypeDef__AnnotationAssignment_2 )? ) ;
    public final void rule__TypeDef__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2595:1: ( ( ( rule__TypeDef__AnnotationAssignment_2 )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2596:1: ( ( rule__TypeDef__AnnotationAssignment_2 )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2596:1: ( ( rule__TypeDef__AnnotationAssignment_2 )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2597:1: ( rule__TypeDef__AnnotationAssignment_2 )?
            {
             before(grammarAccess.getTypeDefAccess().getAnnotationAssignment_2()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2598:1: ( rule__TypeDef__AnnotationAssignment_2 )?
            int alt20=2;
            int LA20_0 = input.LA(1);

            if ( (LA20_0==39) ) {
                alt20=1;
            }
            switch (alt20) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2598:2: rule__TypeDef__AnnotationAssignment_2
                    {
                    pushFollow(FOLLOW_rule__TypeDef__AnnotationAssignment_2_in_rule__TypeDef__Group__2__Impl5511);
                    rule__TypeDef__AnnotationAssignment_2();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getTypeDefAccess().getAnnotationAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeDef__Group__2__Impl"


    // $ANTLR start "rule__TypeDef__Group__3"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2608:1: rule__TypeDef__Group__3 : rule__TypeDef__Group__3__Impl ;
    public final void rule__TypeDef__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2612:1: ( rule__TypeDef__Group__3__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2613:2: rule__TypeDef__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__TypeDef__Group__3__Impl_in_rule__TypeDef__Group__35542);
            rule__TypeDef__Group__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeDef__Group__3"


    // $ANTLR start "rule__TypeDef__Group__3__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2619:1: rule__TypeDef__Group__3__Impl : ( ( rule__TypeDef__NameAssignment_3 ) ) ;
    public final void rule__TypeDef__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2623:1: ( ( ( rule__TypeDef__NameAssignment_3 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2624:1: ( ( rule__TypeDef__NameAssignment_3 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2624:1: ( ( rule__TypeDef__NameAssignment_3 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2625:1: ( rule__TypeDef__NameAssignment_3 )
            {
             before(grammarAccess.getTypeDefAccess().getNameAssignment_3()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2626:1: ( rule__TypeDef__NameAssignment_3 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2626:2: rule__TypeDef__NameAssignment_3
            {
            pushFollow(FOLLOW_rule__TypeDef__NameAssignment_3_in_rule__TypeDef__Group__3__Impl5569);
            rule__TypeDef__NameAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getTypeDefAccess().getNameAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeDef__Group__3__Impl"


    // $ANTLR start "rule__Annotation__Group__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2644:1: rule__Annotation__Group__0 : rule__Annotation__Group__0__Impl rule__Annotation__Group__1 ;
    public final void rule__Annotation__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2648:1: ( rule__Annotation__Group__0__Impl rule__Annotation__Group__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2649:2: rule__Annotation__Group__0__Impl rule__Annotation__Group__1
            {
            pushFollow(FOLLOW_rule__Annotation__Group__0__Impl_in_rule__Annotation__Group__05607);
            rule__Annotation__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Annotation__Group__1_in_rule__Annotation__Group__05610);
            rule__Annotation__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Annotation__Group__0"


    // $ANTLR start "rule__Annotation__Group__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2656:1: rule__Annotation__Group__0__Impl : ( '(' ) ;
    public final void rule__Annotation__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2660:1: ( ( '(' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2661:1: ( '(' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2661:1: ( '(' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2662:1: '('
            {
             before(grammarAccess.getAnnotationAccess().getLeftParenthesisKeyword_0()); 
            match(input,39,FOLLOW_39_in_rule__Annotation__Group__0__Impl5638); 
             after(grammarAccess.getAnnotationAccess().getLeftParenthesisKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Annotation__Group__0__Impl"


    // $ANTLR start "rule__Annotation__Group__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2675:1: rule__Annotation__Group__1 : rule__Annotation__Group__1__Impl rule__Annotation__Group__2 ;
    public final void rule__Annotation__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2679:1: ( rule__Annotation__Group__1__Impl rule__Annotation__Group__2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2680:2: rule__Annotation__Group__1__Impl rule__Annotation__Group__2
            {
            pushFollow(FOLLOW_rule__Annotation__Group__1__Impl_in_rule__Annotation__Group__15669);
            rule__Annotation__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Annotation__Group__2_in_rule__Annotation__Group__15672);
            rule__Annotation__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Annotation__Group__1"


    // $ANTLR start "rule__Annotation__Group__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2687:1: rule__Annotation__Group__1__Impl : ( ( rule__Annotation__ElementsAssignment_1 ) ) ;
    public final void rule__Annotation__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2691:1: ( ( ( rule__Annotation__ElementsAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2692:1: ( ( rule__Annotation__ElementsAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2692:1: ( ( rule__Annotation__ElementsAssignment_1 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2693:1: ( rule__Annotation__ElementsAssignment_1 )
            {
             before(grammarAccess.getAnnotationAccess().getElementsAssignment_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2694:1: ( rule__Annotation__ElementsAssignment_1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2694:2: rule__Annotation__ElementsAssignment_1
            {
            pushFollow(FOLLOW_rule__Annotation__ElementsAssignment_1_in_rule__Annotation__Group__1__Impl5699);
            rule__Annotation__ElementsAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getAnnotationAccess().getElementsAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Annotation__Group__1__Impl"


    // $ANTLR start "rule__Annotation__Group__2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2704:1: rule__Annotation__Group__2 : rule__Annotation__Group__2__Impl rule__Annotation__Group__3 ;
    public final void rule__Annotation__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2708:1: ( rule__Annotation__Group__2__Impl rule__Annotation__Group__3 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2709:2: rule__Annotation__Group__2__Impl rule__Annotation__Group__3
            {
            pushFollow(FOLLOW_rule__Annotation__Group__2__Impl_in_rule__Annotation__Group__25729);
            rule__Annotation__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Annotation__Group__3_in_rule__Annotation__Group__25732);
            rule__Annotation__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Annotation__Group__2"


    // $ANTLR start "rule__Annotation__Group__2__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2716:1: rule__Annotation__Group__2__Impl : ( ( rule__Annotation__Group_2__0 )* ) ;
    public final void rule__Annotation__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2720:1: ( ( ( rule__Annotation__Group_2__0 )* ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2721:1: ( ( rule__Annotation__Group_2__0 )* )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2721:1: ( ( rule__Annotation__Group_2__0 )* )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2722:1: ( rule__Annotation__Group_2__0 )*
            {
             before(grammarAccess.getAnnotationAccess().getGroup_2()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2723:1: ( rule__Annotation__Group_2__0 )*
            loop21:
            do {
                int alt21=2;
                int LA21_0 = input.LA(1);

                if ( (LA21_0==18) ) {
                    alt21=1;
                }


                switch (alt21) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2723:2: rule__Annotation__Group_2__0
            	    {
            	    pushFollow(FOLLOW_rule__Annotation__Group_2__0_in_rule__Annotation__Group__2__Impl5759);
            	    rule__Annotation__Group_2__0();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop21;
                }
            } while (true);

             after(grammarAccess.getAnnotationAccess().getGroup_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Annotation__Group__2__Impl"


    // $ANTLR start "rule__Annotation__Group__3"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2733:1: rule__Annotation__Group__3 : rule__Annotation__Group__3__Impl ;
    public final void rule__Annotation__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2737:1: ( rule__Annotation__Group__3__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2738:2: rule__Annotation__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__Annotation__Group__3__Impl_in_rule__Annotation__Group__35790);
            rule__Annotation__Group__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Annotation__Group__3"


    // $ANTLR start "rule__Annotation__Group__3__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2744:1: rule__Annotation__Group__3__Impl : ( ')' ) ;
    public final void rule__Annotation__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2748:1: ( ( ')' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2749:1: ( ')' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2749:1: ( ')' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2750:1: ')'
            {
             before(grammarAccess.getAnnotationAccess().getRightParenthesisKeyword_3()); 
            match(input,40,FOLLOW_40_in_rule__Annotation__Group__3__Impl5818); 
             after(grammarAccess.getAnnotationAccess().getRightParenthesisKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Annotation__Group__3__Impl"


    // $ANTLR start "rule__Annotation__Group_2__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2771:1: rule__Annotation__Group_2__0 : rule__Annotation__Group_2__0__Impl rule__Annotation__Group_2__1 ;
    public final void rule__Annotation__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2775:1: ( rule__Annotation__Group_2__0__Impl rule__Annotation__Group_2__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2776:2: rule__Annotation__Group_2__0__Impl rule__Annotation__Group_2__1
            {
            pushFollow(FOLLOW_rule__Annotation__Group_2__0__Impl_in_rule__Annotation__Group_2__05857);
            rule__Annotation__Group_2__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Annotation__Group_2__1_in_rule__Annotation__Group_2__05860);
            rule__Annotation__Group_2__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Annotation__Group_2__0"


    // $ANTLR start "rule__Annotation__Group_2__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2783:1: rule__Annotation__Group_2__0__Impl : ( ',' ) ;
    public final void rule__Annotation__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2787:1: ( ( ',' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2788:1: ( ',' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2788:1: ( ',' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2789:1: ','
            {
             before(grammarAccess.getAnnotationAccess().getCommaKeyword_2_0()); 
            match(input,18,FOLLOW_18_in_rule__Annotation__Group_2__0__Impl5888); 
             after(grammarAccess.getAnnotationAccess().getCommaKeyword_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Annotation__Group_2__0__Impl"


    // $ANTLR start "rule__Annotation__Group_2__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2802:1: rule__Annotation__Group_2__1 : rule__Annotation__Group_2__1__Impl ;
    public final void rule__Annotation__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2806:1: ( rule__Annotation__Group_2__1__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2807:2: rule__Annotation__Group_2__1__Impl
            {
            pushFollow(FOLLOW_rule__Annotation__Group_2__1__Impl_in_rule__Annotation__Group_2__15919);
            rule__Annotation__Group_2__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Annotation__Group_2__1"


    // $ANTLR start "rule__Annotation__Group_2__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2813:1: rule__Annotation__Group_2__1__Impl : ( ( rule__Annotation__ElementsAssignment_2_1 ) ) ;
    public final void rule__Annotation__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2817:1: ( ( ( rule__Annotation__ElementsAssignment_2_1 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2818:1: ( ( rule__Annotation__ElementsAssignment_2_1 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2818:1: ( ( rule__Annotation__ElementsAssignment_2_1 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2819:1: ( rule__Annotation__ElementsAssignment_2_1 )
            {
             before(grammarAccess.getAnnotationAccess().getElementsAssignment_2_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2820:1: ( rule__Annotation__ElementsAssignment_2_1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2820:2: rule__Annotation__ElementsAssignment_2_1
            {
            pushFollow(FOLLOW_rule__Annotation__ElementsAssignment_2_1_in_rule__Annotation__Group_2__1__Impl5946);
            rule__Annotation__ElementsAssignment_2_1();

            state._fsp--;


            }

             after(grammarAccess.getAnnotationAccess().getElementsAssignment_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Annotation__Group_2__1__Impl"


    // $ANTLR start "rule__AnnotationElement__Group__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2834:1: rule__AnnotationElement__Group__0 : rule__AnnotationElement__Group__0__Impl rule__AnnotationElement__Group__1 ;
    public final void rule__AnnotationElement__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2838:1: ( rule__AnnotationElement__Group__0__Impl rule__AnnotationElement__Group__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2839:2: rule__AnnotationElement__Group__0__Impl rule__AnnotationElement__Group__1
            {
            pushFollow(FOLLOW_rule__AnnotationElement__Group__0__Impl_in_rule__AnnotationElement__Group__05980);
            rule__AnnotationElement__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__AnnotationElement__Group__1_in_rule__AnnotationElement__Group__05983);
            rule__AnnotationElement__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AnnotationElement__Group__0"


    // $ANTLR start "rule__AnnotationElement__Group__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2846:1: rule__AnnotationElement__Group__0__Impl : ( ( rule__AnnotationElement__NameAssignment_0 ) ) ;
    public final void rule__AnnotationElement__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2850:1: ( ( ( rule__AnnotationElement__NameAssignment_0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2851:1: ( ( rule__AnnotationElement__NameAssignment_0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2851:1: ( ( rule__AnnotationElement__NameAssignment_0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2852:1: ( rule__AnnotationElement__NameAssignment_0 )
            {
             before(grammarAccess.getAnnotationElementAccess().getNameAssignment_0()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2853:1: ( rule__AnnotationElement__NameAssignment_0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2853:2: rule__AnnotationElement__NameAssignment_0
            {
            pushFollow(FOLLOW_rule__AnnotationElement__NameAssignment_0_in_rule__AnnotationElement__Group__0__Impl6010);
            rule__AnnotationElement__NameAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getAnnotationElementAccess().getNameAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AnnotationElement__Group__0__Impl"


    // $ANTLR start "rule__AnnotationElement__Group__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2863:1: rule__AnnotationElement__Group__1 : rule__AnnotationElement__Group__1__Impl rule__AnnotationElement__Group__2 ;
    public final void rule__AnnotationElement__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2867:1: ( rule__AnnotationElement__Group__1__Impl rule__AnnotationElement__Group__2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2868:2: rule__AnnotationElement__Group__1__Impl rule__AnnotationElement__Group__2
            {
            pushFollow(FOLLOW_rule__AnnotationElement__Group__1__Impl_in_rule__AnnotationElement__Group__16040);
            rule__AnnotationElement__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__AnnotationElement__Group__2_in_rule__AnnotationElement__Group__16043);
            rule__AnnotationElement__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AnnotationElement__Group__1"


    // $ANTLR start "rule__AnnotationElement__Group__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2875:1: rule__AnnotationElement__Group__1__Impl : ( '=' ) ;
    public final void rule__AnnotationElement__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2879:1: ( ( '=' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2880:1: ( '=' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2880:1: ( '=' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2881:1: '='
            {
             before(grammarAccess.getAnnotationElementAccess().getEqualsSignKeyword_1()); 
            match(input,37,FOLLOW_37_in_rule__AnnotationElement__Group__1__Impl6071); 
             after(grammarAccess.getAnnotationElementAccess().getEqualsSignKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AnnotationElement__Group__1__Impl"


    // $ANTLR start "rule__AnnotationElement__Group__2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2894:1: rule__AnnotationElement__Group__2 : rule__AnnotationElement__Group__2__Impl rule__AnnotationElement__Group__3 ;
    public final void rule__AnnotationElement__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2898:1: ( rule__AnnotationElement__Group__2__Impl rule__AnnotationElement__Group__3 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2899:2: rule__AnnotationElement__Group__2__Impl rule__AnnotationElement__Group__3
            {
            pushFollow(FOLLOW_rule__AnnotationElement__Group__2__Impl_in_rule__AnnotationElement__Group__26102);
            rule__AnnotationElement__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__AnnotationElement__Group__3_in_rule__AnnotationElement__Group__26105);
            rule__AnnotationElement__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AnnotationElement__Group__2"


    // $ANTLR start "rule__AnnotationElement__Group__2__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2906:1: rule__AnnotationElement__Group__2__Impl : ( ( rule__AnnotationElement__ValueAssignment_2 ) ) ;
    public final void rule__AnnotationElement__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2910:1: ( ( ( rule__AnnotationElement__ValueAssignment_2 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2911:1: ( ( rule__AnnotationElement__ValueAssignment_2 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2911:1: ( ( rule__AnnotationElement__ValueAssignment_2 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2912:1: ( rule__AnnotationElement__ValueAssignment_2 )
            {
             before(grammarAccess.getAnnotationElementAccess().getValueAssignment_2()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2913:1: ( rule__AnnotationElement__ValueAssignment_2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2913:2: rule__AnnotationElement__ValueAssignment_2
            {
            pushFollow(FOLLOW_rule__AnnotationElement__ValueAssignment_2_in_rule__AnnotationElement__Group__2__Impl6132);
            rule__AnnotationElement__ValueAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getAnnotationElementAccess().getValueAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AnnotationElement__Group__2__Impl"


    // $ANTLR start "rule__AnnotationElement__Group__3"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2923:1: rule__AnnotationElement__Group__3 : rule__AnnotationElement__Group__3__Impl ;
    public final void rule__AnnotationElement__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2927:1: ( rule__AnnotationElement__Group__3__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2928:2: rule__AnnotationElement__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__AnnotationElement__Group__3__Impl_in_rule__AnnotationElement__Group__36162);
            rule__AnnotationElement__Group__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AnnotationElement__Group__3"


    // $ANTLR start "rule__AnnotationElement__Group__3__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2934:1: rule__AnnotationElement__Group__3__Impl : ( ( ruleListSeparator )? ) ;
    public final void rule__AnnotationElement__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2938:1: ( ( ( ruleListSeparator )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2939:1: ( ( ruleListSeparator )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2939:1: ( ( ruleListSeparator )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2940:1: ( ruleListSeparator )?
            {
             before(grammarAccess.getAnnotationElementAccess().getListSeparatorParserRuleCall_3()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2941:1: ( ruleListSeparator )?
            int alt22=2;
            int LA22_0 = input.LA(1);

            if ( (LA22_0==18) ) {
                int LA22_1 = input.LA(2);

                if ( (LA22_1==EOF||LA22_1==18||LA22_1==40) ) {
                    alt22=1;
                }
            }
            else if ( (LA22_0==19) ) {
                alt22=1;
            }
            switch (alt22) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2941:3: ruleListSeparator
                    {
                    pushFollow(FOLLOW_ruleListSeparator_in_rule__AnnotationElement__Group__3__Impl6190);
                    ruleListSeparator();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getAnnotationElementAccess().getListSeparatorParserRuleCall_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AnnotationElement__Group__3__Impl"


    // $ANTLR start "rule__Enum__Group__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2959:1: rule__Enum__Group__0 : rule__Enum__Group__0__Impl rule__Enum__Group__1 ;
    public final void rule__Enum__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2963:1: ( rule__Enum__Group__0__Impl rule__Enum__Group__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2964:2: rule__Enum__Group__0__Impl rule__Enum__Group__1
            {
            pushFollow(FOLLOW_rule__Enum__Group__0__Impl_in_rule__Enum__Group__06229);
            rule__Enum__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Enum__Group__1_in_rule__Enum__Group__06232);
            rule__Enum__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group__0"


    // $ANTLR start "rule__Enum__Group__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2971:1: rule__Enum__Group__0__Impl : ( 'enum' ) ;
    public final void rule__Enum__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2975:1: ( ( 'enum' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2976:1: ( 'enum' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2976:1: ( 'enum' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2977:1: 'enum'
            {
             before(grammarAccess.getEnumAccess().getEnumKeyword_0()); 
            match(input,41,FOLLOW_41_in_rule__Enum__Group__0__Impl6260); 
             after(grammarAccess.getEnumAccess().getEnumKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group__0__Impl"


    // $ANTLR start "rule__Enum__Group__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2990:1: rule__Enum__Group__1 : rule__Enum__Group__1__Impl rule__Enum__Group__2 ;
    public final void rule__Enum__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2994:1: ( rule__Enum__Group__1__Impl rule__Enum__Group__2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:2995:2: rule__Enum__Group__1__Impl rule__Enum__Group__2
            {
            pushFollow(FOLLOW_rule__Enum__Group__1__Impl_in_rule__Enum__Group__16291);
            rule__Enum__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Enum__Group__2_in_rule__Enum__Group__16294);
            rule__Enum__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group__1"


    // $ANTLR start "rule__Enum__Group__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3002:1: rule__Enum__Group__1__Impl : ( ( rule__Enum__NameAssignment_1 ) ) ;
    public final void rule__Enum__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3006:1: ( ( ( rule__Enum__NameAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3007:1: ( ( rule__Enum__NameAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3007:1: ( ( rule__Enum__NameAssignment_1 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3008:1: ( rule__Enum__NameAssignment_1 )
            {
             before(grammarAccess.getEnumAccess().getNameAssignment_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3009:1: ( rule__Enum__NameAssignment_1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3009:2: rule__Enum__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Enum__NameAssignment_1_in_rule__Enum__Group__1__Impl6321);
            rule__Enum__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getEnumAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group__1__Impl"


    // $ANTLR start "rule__Enum__Group__2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3019:1: rule__Enum__Group__2 : rule__Enum__Group__2__Impl rule__Enum__Group__3 ;
    public final void rule__Enum__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3023:1: ( rule__Enum__Group__2__Impl rule__Enum__Group__3 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3024:2: rule__Enum__Group__2__Impl rule__Enum__Group__3
            {
            pushFollow(FOLLOW_rule__Enum__Group__2__Impl_in_rule__Enum__Group__26351);
            rule__Enum__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Enum__Group__3_in_rule__Enum__Group__26354);
            rule__Enum__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group__2"


    // $ANTLR start "rule__Enum__Group__2__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3031:1: rule__Enum__Group__2__Impl : ( '{' ) ;
    public final void rule__Enum__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3035:1: ( ( '{' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3036:1: ( '{' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3036:1: ( '{' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3037:1: '{'
            {
             before(grammarAccess.getEnumAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,42,FOLLOW_42_in_rule__Enum__Group__2__Impl6382); 
             after(grammarAccess.getEnumAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group__2__Impl"


    // $ANTLR start "rule__Enum__Group__3"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3050:1: rule__Enum__Group__3 : rule__Enum__Group__3__Impl rule__Enum__Group__4 ;
    public final void rule__Enum__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3054:1: ( rule__Enum__Group__3__Impl rule__Enum__Group__4 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3055:2: rule__Enum__Group__3__Impl rule__Enum__Group__4
            {
            pushFollow(FOLLOW_rule__Enum__Group__3__Impl_in_rule__Enum__Group__36413);
            rule__Enum__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Enum__Group__4_in_rule__Enum__Group__36416);
            rule__Enum__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group__3"


    // $ANTLR start "rule__Enum__Group__3__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3062:1: rule__Enum__Group__3__Impl : ( ( rule__Enum__ElementsAssignment_3 )* ) ;
    public final void rule__Enum__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3066:1: ( ( ( rule__Enum__ElementsAssignment_3 )* ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3067:1: ( ( rule__Enum__ElementsAssignment_3 )* )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3067:1: ( ( rule__Enum__ElementsAssignment_3 )* )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3068:1: ( rule__Enum__ElementsAssignment_3 )*
            {
             before(grammarAccess.getEnumAccess().getElementsAssignment_3()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3069:1: ( rule__Enum__ElementsAssignment_3 )*
            loop23:
            do {
                int alt23=2;
                int LA23_0 = input.LA(1);

                if ( (LA23_0==RULE_ID) ) {
                    alt23=1;
                }


                switch (alt23) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3069:2: rule__Enum__ElementsAssignment_3
            	    {
            	    pushFollow(FOLLOW_rule__Enum__ElementsAssignment_3_in_rule__Enum__Group__3__Impl6443);
            	    rule__Enum__ElementsAssignment_3();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop23;
                }
            } while (true);

             after(grammarAccess.getEnumAccess().getElementsAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group__3__Impl"


    // $ANTLR start "rule__Enum__Group__4"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3079:1: rule__Enum__Group__4 : rule__Enum__Group__4__Impl ;
    public final void rule__Enum__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3083:1: ( rule__Enum__Group__4__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3084:2: rule__Enum__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__Enum__Group__4__Impl_in_rule__Enum__Group__46474);
            rule__Enum__Group__4__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group__4"


    // $ANTLR start "rule__Enum__Group__4__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3090:1: rule__Enum__Group__4__Impl : ( '}' ) ;
    public final void rule__Enum__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3094:1: ( ( '}' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3095:1: ( '}' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3095:1: ( '}' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3096:1: '}'
            {
             before(grammarAccess.getEnumAccess().getRightCurlyBracketKeyword_4()); 
            match(input,43,FOLLOW_43_in_rule__Enum__Group__4__Impl6502); 
             after(grammarAccess.getEnumAccess().getRightCurlyBracketKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group__4__Impl"


    // $ANTLR start "rule__EnumElement__Group__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3119:1: rule__EnumElement__Group__0 : rule__EnumElement__Group__0__Impl rule__EnumElement__Group__1 ;
    public final void rule__EnumElement__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3123:1: ( rule__EnumElement__Group__0__Impl rule__EnumElement__Group__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3124:2: rule__EnumElement__Group__0__Impl rule__EnumElement__Group__1
            {
            pushFollow(FOLLOW_rule__EnumElement__Group__0__Impl_in_rule__EnumElement__Group__06543);
            rule__EnumElement__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__EnumElement__Group__1_in_rule__EnumElement__Group__06546);
            rule__EnumElement__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumElement__Group__0"


    // $ANTLR start "rule__EnumElement__Group__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3131:1: rule__EnumElement__Group__0__Impl : ( ( rule__EnumElement__NameAssignment_0 ) ) ;
    public final void rule__EnumElement__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3135:1: ( ( ( rule__EnumElement__NameAssignment_0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3136:1: ( ( rule__EnumElement__NameAssignment_0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3136:1: ( ( rule__EnumElement__NameAssignment_0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3137:1: ( rule__EnumElement__NameAssignment_0 )
            {
             before(grammarAccess.getEnumElementAccess().getNameAssignment_0()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3138:1: ( rule__EnumElement__NameAssignment_0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3138:2: rule__EnumElement__NameAssignment_0
            {
            pushFollow(FOLLOW_rule__EnumElement__NameAssignment_0_in_rule__EnumElement__Group__0__Impl6573);
            rule__EnumElement__NameAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getEnumElementAccess().getNameAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumElement__Group__0__Impl"


    // $ANTLR start "rule__EnumElement__Group__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3148:1: rule__EnumElement__Group__1 : rule__EnumElement__Group__1__Impl rule__EnumElement__Group__2 ;
    public final void rule__EnumElement__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3152:1: ( rule__EnumElement__Group__1__Impl rule__EnumElement__Group__2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3153:2: rule__EnumElement__Group__1__Impl rule__EnumElement__Group__2
            {
            pushFollow(FOLLOW_rule__EnumElement__Group__1__Impl_in_rule__EnumElement__Group__16603);
            rule__EnumElement__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__EnumElement__Group__2_in_rule__EnumElement__Group__16606);
            rule__EnumElement__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumElement__Group__1"


    // $ANTLR start "rule__EnumElement__Group__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3160:1: rule__EnumElement__Group__1__Impl : ( ( rule__EnumElement__Group_1__0 )? ) ;
    public final void rule__EnumElement__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3164:1: ( ( ( rule__EnumElement__Group_1__0 )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3165:1: ( ( rule__EnumElement__Group_1__0 )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3165:1: ( ( rule__EnumElement__Group_1__0 )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3166:1: ( rule__EnumElement__Group_1__0 )?
            {
             before(grammarAccess.getEnumElementAccess().getGroup_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3167:1: ( rule__EnumElement__Group_1__0 )?
            int alt24=2;
            int LA24_0 = input.LA(1);

            if ( (LA24_0==37) ) {
                alt24=1;
            }
            switch (alt24) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3167:2: rule__EnumElement__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__EnumElement__Group_1__0_in_rule__EnumElement__Group__1__Impl6633);
                    rule__EnumElement__Group_1__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getEnumElementAccess().getGroup_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumElement__Group__1__Impl"


    // $ANTLR start "rule__EnumElement__Group__2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3177:1: rule__EnumElement__Group__2 : rule__EnumElement__Group__2__Impl ;
    public final void rule__EnumElement__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3181:1: ( rule__EnumElement__Group__2__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3182:2: rule__EnumElement__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__EnumElement__Group__2__Impl_in_rule__EnumElement__Group__26664);
            rule__EnumElement__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumElement__Group__2"


    // $ANTLR start "rule__EnumElement__Group__2__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3188:1: rule__EnumElement__Group__2__Impl : ( ( ruleListSeparator )? ) ;
    public final void rule__EnumElement__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3192:1: ( ( ( ruleListSeparator )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3193:1: ( ( ruleListSeparator )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3193:1: ( ( ruleListSeparator )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3194:1: ( ruleListSeparator )?
            {
             before(grammarAccess.getEnumElementAccess().getListSeparatorParserRuleCall_2()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3195:1: ( ruleListSeparator )?
            int alt25=2;
            int LA25_0 = input.LA(1);

            if ( ((LA25_0>=18 && LA25_0<=19)) ) {
                alt25=1;
            }
            switch (alt25) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3195:3: ruleListSeparator
                    {
                    pushFollow(FOLLOW_ruleListSeparator_in_rule__EnumElement__Group__2__Impl6692);
                    ruleListSeparator();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getEnumElementAccess().getListSeparatorParserRuleCall_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumElement__Group__2__Impl"


    // $ANTLR start "rule__EnumElement__Group_1__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3211:1: rule__EnumElement__Group_1__0 : rule__EnumElement__Group_1__0__Impl rule__EnumElement__Group_1__1 ;
    public final void rule__EnumElement__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3215:1: ( rule__EnumElement__Group_1__0__Impl rule__EnumElement__Group_1__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3216:2: rule__EnumElement__Group_1__0__Impl rule__EnumElement__Group_1__1
            {
            pushFollow(FOLLOW_rule__EnumElement__Group_1__0__Impl_in_rule__EnumElement__Group_1__06729);
            rule__EnumElement__Group_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__EnumElement__Group_1__1_in_rule__EnumElement__Group_1__06732);
            rule__EnumElement__Group_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumElement__Group_1__0"


    // $ANTLR start "rule__EnumElement__Group_1__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3223:1: rule__EnumElement__Group_1__0__Impl : ( '=' ) ;
    public final void rule__EnumElement__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3227:1: ( ( '=' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3228:1: ( '=' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3228:1: ( '=' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3229:1: '='
            {
             before(grammarAccess.getEnumElementAccess().getEqualsSignKeyword_1_0()); 
            match(input,37,FOLLOW_37_in_rule__EnumElement__Group_1__0__Impl6760); 
             after(grammarAccess.getEnumElementAccess().getEqualsSignKeyword_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumElement__Group_1__0__Impl"


    // $ANTLR start "rule__EnumElement__Group_1__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3242:1: rule__EnumElement__Group_1__1 : rule__EnumElement__Group_1__1__Impl ;
    public final void rule__EnumElement__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3246:1: ( rule__EnumElement__Group_1__1__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3247:2: rule__EnumElement__Group_1__1__Impl
            {
            pushFollow(FOLLOW_rule__EnumElement__Group_1__1__Impl_in_rule__EnumElement__Group_1__16791);
            rule__EnumElement__Group_1__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumElement__Group_1__1"


    // $ANTLR start "rule__EnumElement__Group_1__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3253:1: rule__EnumElement__Group_1__1__Impl : ( ( rule__EnumElement__ValueAssignment_1_1 ) ) ;
    public final void rule__EnumElement__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3257:1: ( ( ( rule__EnumElement__ValueAssignment_1_1 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3258:1: ( ( rule__EnumElement__ValueAssignment_1_1 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3258:1: ( ( rule__EnumElement__ValueAssignment_1_1 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3259:1: ( rule__EnumElement__ValueAssignment_1_1 )
            {
             before(grammarAccess.getEnumElementAccess().getValueAssignment_1_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3260:1: ( rule__EnumElement__ValueAssignment_1_1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3260:2: rule__EnumElement__ValueAssignment_1_1
            {
            pushFollow(FOLLOW_rule__EnumElement__ValueAssignment_1_1_in_rule__EnumElement__Group_1__1__Impl6818);
            rule__EnumElement__ValueAssignment_1_1();

            state._fsp--;


            }

             after(grammarAccess.getEnumElementAccess().getValueAssignment_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumElement__Group_1__1__Impl"


    // $ANTLR start "rule__Senum__Group__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3274:1: rule__Senum__Group__0 : rule__Senum__Group__0__Impl rule__Senum__Group__1 ;
    public final void rule__Senum__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3278:1: ( rule__Senum__Group__0__Impl rule__Senum__Group__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3279:2: rule__Senum__Group__0__Impl rule__Senum__Group__1
            {
            pushFollow(FOLLOW_rule__Senum__Group__0__Impl_in_rule__Senum__Group__06852);
            rule__Senum__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Senum__Group__1_in_rule__Senum__Group__06855);
            rule__Senum__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Senum__Group__0"


    // $ANTLR start "rule__Senum__Group__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3286:1: rule__Senum__Group__0__Impl : ( 'senum' ) ;
    public final void rule__Senum__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3290:1: ( ( 'senum' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3291:1: ( 'senum' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3291:1: ( 'senum' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3292:1: 'senum'
            {
             before(grammarAccess.getSenumAccess().getSenumKeyword_0()); 
            match(input,44,FOLLOW_44_in_rule__Senum__Group__0__Impl6883); 
             after(grammarAccess.getSenumAccess().getSenumKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Senum__Group__0__Impl"


    // $ANTLR start "rule__Senum__Group__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3305:1: rule__Senum__Group__1 : rule__Senum__Group__1__Impl rule__Senum__Group__2 ;
    public final void rule__Senum__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3309:1: ( rule__Senum__Group__1__Impl rule__Senum__Group__2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3310:2: rule__Senum__Group__1__Impl rule__Senum__Group__2
            {
            pushFollow(FOLLOW_rule__Senum__Group__1__Impl_in_rule__Senum__Group__16914);
            rule__Senum__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Senum__Group__2_in_rule__Senum__Group__16917);
            rule__Senum__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Senum__Group__1"


    // $ANTLR start "rule__Senum__Group__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3317:1: rule__Senum__Group__1__Impl : ( ( rule__Senum__NameAssignment_1 ) ) ;
    public final void rule__Senum__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3321:1: ( ( ( rule__Senum__NameAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3322:1: ( ( rule__Senum__NameAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3322:1: ( ( rule__Senum__NameAssignment_1 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3323:1: ( rule__Senum__NameAssignment_1 )
            {
             before(grammarAccess.getSenumAccess().getNameAssignment_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3324:1: ( rule__Senum__NameAssignment_1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3324:2: rule__Senum__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Senum__NameAssignment_1_in_rule__Senum__Group__1__Impl6944);
            rule__Senum__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getSenumAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Senum__Group__1__Impl"


    // $ANTLR start "rule__Senum__Group__2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3334:1: rule__Senum__Group__2 : rule__Senum__Group__2__Impl rule__Senum__Group__3 ;
    public final void rule__Senum__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3338:1: ( rule__Senum__Group__2__Impl rule__Senum__Group__3 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3339:2: rule__Senum__Group__2__Impl rule__Senum__Group__3
            {
            pushFollow(FOLLOW_rule__Senum__Group__2__Impl_in_rule__Senum__Group__26974);
            rule__Senum__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Senum__Group__3_in_rule__Senum__Group__26977);
            rule__Senum__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Senum__Group__2"


    // $ANTLR start "rule__Senum__Group__2__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3346:1: rule__Senum__Group__2__Impl : ( '{' ) ;
    public final void rule__Senum__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3350:1: ( ( '{' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3351:1: ( '{' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3351:1: ( '{' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3352:1: '{'
            {
             before(grammarAccess.getSenumAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,42,FOLLOW_42_in_rule__Senum__Group__2__Impl7005); 
             after(grammarAccess.getSenumAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Senum__Group__2__Impl"


    // $ANTLR start "rule__Senum__Group__3"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3365:1: rule__Senum__Group__3 : rule__Senum__Group__3__Impl rule__Senum__Group__4 ;
    public final void rule__Senum__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3369:1: ( rule__Senum__Group__3__Impl rule__Senum__Group__4 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3370:2: rule__Senum__Group__3__Impl rule__Senum__Group__4
            {
            pushFollow(FOLLOW_rule__Senum__Group__3__Impl_in_rule__Senum__Group__37036);
            rule__Senum__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Senum__Group__4_in_rule__Senum__Group__37039);
            rule__Senum__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Senum__Group__3"


    // $ANTLR start "rule__Senum__Group__3__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3377:1: rule__Senum__Group__3__Impl : ( ( rule__Senum__Group_3__0 )* ) ;
    public final void rule__Senum__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3381:1: ( ( ( rule__Senum__Group_3__0 )* ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3382:1: ( ( rule__Senum__Group_3__0 )* )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3382:1: ( ( rule__Senum__Group_3__0 )* )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3383:1: ( rule__Senum__Group_3__0 )*
            {
             before(grammarAccess.getSenumAccess().getGroup_3()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3384:1: ( rule__Senum__Group_3__0 )*
            loop26:
            do {
                int alt26=2;
                int LA26_0 = input.LA(1);

                if ( (LA26_0==RULE_STRING) ) {
                    alt26=1;
                }


                switch (alt26) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3384:2: rule__Senum__Group_3__0
            	    {
            	    pushFollow(FOLLOW_rule__Senum__Group_3__0_in_rule__Senum__Group__3__Impl7066);
            	    rule__Senum__Group_3__0();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop26;
                }
            } while (true);

             after(grammarAccess.getSenumAccess().getGroup_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Senum__Group__3__Impl"


    // $ANTLR start "rule__Senum__Group__4"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3394:1: rule__Senum__Group__4 : rule__Senum__Group__4__Impl ;
    public final void rule__Senum__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3398:1: ( rule__Senum__Group__4__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3399:2: rule__Senum__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__Senum__Group__4__Impl_in_rule__Senum__Group__47097);
            rule__Senum__Group__4__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Senum__Group__4"


    // $ANTLR start "rule__Senum__Group__4__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3405:1: rule__Senum__Group__4__Impl : ( '}' ) ;
    public final void rule__Senum__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3409:1: ( ( '}' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3410:1: ( '}' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3410:1: ( '}' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3411:1: '}'
            {
             before(grammarAccess.getSenumAccess().getRightCurlyBracketKeyword_4()); 
            match(input,43,FOLLOW_43_in_rule__Senum__Group__4__Impl7125); 
             after(grammarAccess.getSenumAccess().getRightCurlyBracketKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Senum__Group__4__Impl"


    // $ANTLR start "rule__Senum__Group_3__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3434:1: rule__Senum__Group_3__0 : rule__Senum__Group_3__0__Impl rule__Senum__Group_3__1 ;
    public final void rule__Senum__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3438:1: ( rule__Senum__Group_3__0__Impl rule__Senum__Group_3__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3439:2: rule__Senum__Group_3__0__Impl rule__Senum__Group_3__1
            {
            pushFollow(FOLLOW_rule__Senum__Group_3__0__Impl_in_rule__Senum__Group_3__07166);
            rule__Senum__Group_3__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Senum__Group_3__1_in_rule__Senum__Group_3__07169);
            rule__Senum__Group_3__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Senum__Group_3__0"


    // $ANTLR start "rule__Senum__Group_3__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3446:1: rule__Senum__Group_3__0__Impl : ( ( rule__Senum__ElementsAssignment_3_0 ) ) ;
    public final void rule__Senum__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3450:1: ( ( ( rule__Senum__ElementsAssignment_3_0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3451:1: ( ( rule__Senum__ElementsAssignment_3_0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3451:1: ( ( rule__Senum__ElementsAssignment_3_0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3452:1: ( rule__Senum__ElementsAssignment_3_0 )
            {
             before(grammarAccess.getSenumAccess().getElementsAssignment_3_0()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3453:1: ( rule__Senum__ElementsAssignment_3_0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3453:2: rule__Senum__ElementsAssignment_3_0
            {
            pushFollow(FOLLOW_rule__Senum__ElementsAssignment_3_0_in_rule__Senum__Group_3__0__Impl7196);
            rule__Senum__ElementsAssignment_3_0();

            state._fsp--;


            }

             after(grammarAccess.getSenumAccess().getElementsAssignment_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Senum__Group_3__0__Impl"


    // $ANTLR start "rule__Senum__Group_3__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3463:1: rule__Senum__Group_3__1 : rule__Senum__Group_3__1__Impl ;
    public final void rule__Senum__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3467:1: ( rule__Senum__Group_3__1__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3468:2: rule__Senum__Group_3__1__Impl
            {
            pushFollow(FOLLOW_rule__Senum__Group_3__1__Impl_in_rule__Senum__Group_3__17226);
            rule__Senum__Group_3__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Senum__Group_3__1"


    // $ANTLR start "rule__Senum__Group_3__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3474:1: rule__Senum__Group_3__1__Impl : ( ( ruleListSeparator )? ) ;
    public final void rule__Senum__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3478:1: ( ( ( ruleListSeparator )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3479:1: ( ( ruleListSeparator )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3479:1: ( ( ruleListSeparator )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3480:1: ( ruleListSeparator )?
            {
             before(grammarAccess.getSenumAccess().getListSeparatorParserRuleCall_3_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3481:1: ( ruleListSeparator )?
            int alt27=2;
            int LA27_0 = input.LA(1);

            if ( ((LA27_0>=18 && LA27_0<=19)) ) {
                alt27=1;
            }
            switch (alt27) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3481:3: ruleListSeparator
                    {
                    pushFollow(FOLLOW_ruleListSeparator_in_rule__Senum__Group_3__1__Impl7254);
                    ruleListSeparator();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getSenumAccess().getListSeparatorParserRuleCall_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Senum__Group_3__1__Impl"


    // $ANTLR start "rule__Struct__Group__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3495:1: rule__Struct__Group__0 : rule__Struct__Group__0__Impl rule__Struct__Group__1 ;
    public final void rule__Struct__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3499:1: ( rule__Struct__Group__0__Impl rule__Struct__Group__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3500:2: rule__Struct__Group__0__Impl rule__Struct__Group__1
            {
            pushFollow(FOLLOW_rule__Struct__Group__0__Impl_in_rule__Struct__Group__07289);
            rule__Struct__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Struct__Group__1_in_rule__Struct__Group__07292);
            rule__Struct__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Struct__Group__0"


    // $ANTLR start "rule__Struct__Group__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3507:1: rule__Struct__Group__0__Impl : ( 'struct' ) ;
    public final void rule__Struct__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3511:1: ( ( 'struct' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3512:1: ( 'struct' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3512:1: ( 'struct' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3513:1: 'struct'
            {
             before(grammarAccess.getStructAccess().getStructKeyword_0()); 
            match(input,45,FOLLOW_45_in_rule__Struct__Group__0__Impl7320); 
             after(grammarAccess.getStructAccess().getStructKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Struct__Group__0__Impl"


    // $ANTLR start "rule__Struct__Group__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3526:1: rule__Struct__Group__1 : rule__Struct__Group__1__Impl rule__Struct__Group__2 ;
    public final void rule__Struct__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3530:1: ( rule__Struct__Group__1__Impl rule__Struct__Group__2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3531:2: rule__Struct__Group__1__Impl rule__Struct__Group__2
            {
            pushFollow(FOLLOW_rule__Struct__Group__1__Impl_in_rule__Struct__Group__17351);
            rule__Struct__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Struct__Group__2_in_rule__Struct__Group__17354);
            rule__Struct__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Struct__Group__1"


    // $ANTLR start "rule__Struct__Group__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3538:1: rule__Struct__Group__1__Impl : ( ( rule__Struct__NameAssignment_1 ) ) ;
    public final void rule__Struct__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3542:1: ( ( ( rule__Struct__NameAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3543:1: ( ( rule__Struct__NameAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3543:1: ( ( rule__Struct__NameAssignment_1 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3544:1: ( rule__Struct__NameAssignment_1 )
            {
             before(grammarAccess.getStructAccess().getNameAssignment_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3545:1: ( rule__Struct__NameAssignment_1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3545:2: rule__Struct__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Struct__NameAssignment_1_in_rule__Struct__Group__1__Impl7381);
            rule__Struct__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getStructAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Struct__Group__1__Impl"


    // $ANTLR start "rule__Struct__Group__2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3555:1: rule__Struct__Group__2 : rule__Struct__Group__2__Impl rule__Struct__Group__3 ;
    public final void rule__Struct__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3559:1: ( rule__Struct__Group__2__Impl rule__Struct__Group__3 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3560:2: rule__Struct__Group__2__Impl rule__Struct__Group__3
            {
            pushFollow(FOLLOW_rule__Struct__Group__2__Impl_in_rule__Struct__Group__27411);
            rule__Struct__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Struct__Group__3_in_rule__Struct__Group__27414);
            rule__Struct__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Struct__Group__2"


    // $ANTLR start "rule__Struct__Group__2__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3567:1: rule__Struct__Group__2__Impl : ( ( 'xsd_all' )? ) ;
    public final void rule__Struct__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3571:1: ( ( ( 'xsd_all' )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3572:1: ( ( 'xsd_all' )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3572:1: ( ( 'xsd_all' )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3573:1: ( 'xsd_all' )?
            {
             before(grammarAccess.getStructAccess().getXsd_allKeyword_2()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3574:1: ( 'xsd_all' )?
            int alt28=2;
            int LA28_0 = input.LA(1);

            if ( (LA28_0==46) ) {
                alt28=1;
            }
            switch (alt28) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3575:2: 'xsd_all'
                    {
                    match(input,46,FOLLOW_46_in_rule__Struct__Group__2__Impl7443); 

                    }
                    break;

            }

             after(grammarAccess.getStructAccess().getXsd_allKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Struct__Group__2__Impl"


    // $ANTLR start "rule__Struct__Group__3"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3586:1: rule__Struct__Group__3 : rule__Struct__Group__3__Impl rule__Struct__Group__4 ;
    public final void rule__Struct__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3590:1: ( rule__Struct__Group__3__Impl rule__Struct__Group__4 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3591:2: rule__Struct__Group__3__Impl rule__Struct__Group__4
            {
            pushFollow(FOLLOW_rule__Struct__Group__3__Impl_in_rule__Struct__Group__37476);
            rule__Struct__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Struct__Group__4_in_rule__Struct__Group__37479);
            rule__Struct__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Struct__Group__3"


    // $ANTLR start "rule__Struct__Group__3__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3598:1: rule__Struct__Group__3__Impl : ( '{' ) ;
    public final void rule__Struct__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3602:1: ( ( '{' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3603:1: ( '{' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3603:1: ( '{' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3604:1: '{'
            {
             before(grammarAccess.getStructAccess().getLeftCurlyBracketKeyword_3()); 
            match(input,42,FOLLOW_42_in_rule__Struct__Group__3__Impl7507); 
             after(grammarAccess.getStructAccess().getLeftCurlyBracketKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Struct__Group__3__Impl"


    // $ANTLR start "rule__Struct__Group__4"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3617:1: rule__Struct__Group__4 : rule__Struct__Group__4__Impl rule__Struct__Group__5 ;
    public final void rule__Struct__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3621:1: ( rule__Struct__Group__4__Impl rule__Struct__Group__5 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3622:2: rule__Struct__Group__4__Impl rule__Struct__Group__5
            {
            pushFollow(FOLLOW_rule__Struct__Group__4__Impl_in_rule__Struct__Group__47538);
            rule__Struct__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Struct__Group__5_in_rule__Struct__Group__47541);
            rule__Struct__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Struct__Group__4"


    // $ANTLR start "rule__Struct__Group__4__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3629:1: rule__Struct__Group__4__Impl : ( ( rule__Struct__FieldsAssignment_4 )* ) ;
    public final void rule__Struct__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3633:1: ( ( ( rule__Struct__FieldsAssignment_4 )* ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3634:1: ( ( rule__Struct__FieldsAssignment_4 )* )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3634:1: ( ( rule__Struct__FieldsAssignment_4 )* )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3635:1: ( rule__Struct__FieldsAssignment_4 )*
            {
             before(grammarAccess.getStructAccess().getFieldsAssignment_4()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3636:1: ( rule__Struct__FieldsAssignment_4 )*
            loop29:
            do {
                int alt29=2;
                int LA29_0 = input.LA(1);

                if ( (LA29_0==RULE_LONG||LA29_0==RULE_ID||(LA29_0>=16 && LA29_0<=17)||(LA29_0>=20 && LA29_0<=28)||LA29_0==56||(LA29_0>=59 && LA29_0<=60)) ) {
                    alt29=1;
                }


                switch (alt29) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3636:2: rule__Struct__FieldsAssignment_4
            	    {
            	    pushFollow(FOLLOW_rule__Struct__FieldsAssignment_4_in_rule__Struct__Group__4__Impl7568);
            	    rule__Struct__FieldsAssignment_4();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop29;
                }
            } while (true);

             after(grammarAccess.getStructAccess().getFieldsAssignment_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Struct__Group__4__Impl"


    // $ANTLR start "rule__Struct__Group__5"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3646:1: rule__Struct__Group__5 : rule__Struct__Group__5__Impl rule__Struct__Group__6 ;
    public final void rule__Struct__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3650:1: ( rule__Struct__Group__5__Impl rule__Struct__Group__6 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3651:2: rule__Struct__Group__5__Impl rule__Struct__Group__6
            {
            pushFollow(FOLLOW_rule__Struct__Group__5__Impl_in_rule__Struct__Group__57599);
            rule__Struct__Group__5__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Struct__Group__6_in_rule__Struct__Group__57602);
            rule__Struct__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Struct__Group__5"


    // $ANTLR start "rule__Struct__Group__5__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3658:1: rule__Struct__Group__5__Impl : ( '}' ) ;
    public final void rule__Struct__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3662:1: ( ( '}' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3663:1: ( '}' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3663:1: ( '}' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3664:1: '}'
            {
             before(grammarAccess.getStructAccess().getRightCurlyBracketKeyword_5()); 
            match(input,43,FOLLOW_43_in_rule__Struct__Group__5__Impl7630); 
             after(grammarAccess.getStructAccess().getRightCurlyBracketKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Struct__Group__5__Impl"


    // $ANTLR start "rule__Struct__Group__6"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3677:1: rule__Struct__Group__6 : rule__Struct__Group__6__Impl ;
    public final void rule__Struct__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3681:1: ( rule__Struct__Group__6__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3682:2: rule__Struct__Group__6__Impl
            {
            pushFollow(FOLLOW_rule__Struct__Group__6__Impl_in_rule__Struct__Group__67661);
            rule__Struct__Group__6__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Struct__Group__6"


    // $ANTLR start "rule__Struct__Group__6__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3688:1: rule__Struct__Group__6__Impl : ( ( rule__Struct__AnnotationAssignment_6 )? ) ;
    public final void rule__Struct__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3692:1: ( ( ( rule__Struct__AnnotationAssignment_6 )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3693:1: ( ( rule__Struct__AnnotationAssignment_6 )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3693:1: ( ( rule__Struct__AnnotationAssignment_6 )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3694:1: ( rule__Struct__AnnotationAssignment_6 )?
            {
             before(grammarAccess.getStructAccess().getAnnotationAssignment_6()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3695:1: ( rule__Struct__AnnotationAssignment_6 )?
            int alt30=2;
            int LA30_0 = input.LA(1);

            if ( (LA30_0==39) ) {
                alt30=1;
            }
            switch (alt30) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3695:2: rule__Struct__AnnotationAssignment_6
                    {
                    pushFollow(FOLLOW_rule__Struct__AnnotationAssignment_6_in_rule__Struct__Group__6__Impl7688);
                    rule__Struct__AnnotationAssignment_6();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getStructAccess().getAnnotationAssignment_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Struct__Group__6__Impl"


    // $ANTLR start "rule__Union__Group__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3719:1: rule__Union__Group__0 : rule__Union__Group__0__Impl rule__Union__Group__1 ;
    public final void rule__Union__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3723:1: ( rule__Union__Group__0__Impl rule__Union__Group__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3724:2: rule__Union__Group__0__Impl rule__Union__Group__1
            {
            pushFollow(FOLLOW_rule__Union__Group__0__Impl_in_rule__Union__Group__07733);
            rule__Union__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Union__Group__1_in_rule__Union__Group__07736);
            rule__Union__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Union__Group__0"


    // $ANTLR start "rule__Union__Group__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3731:1: rule__Union__Group__0__Impl : ( 'union' ) ;
    public final void rule__Union__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3735:1: ( ( 'union' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3736:1: ( 'union' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3736:1: ( 'union' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3737:1: 'union'
            {
             before(grammarAccess.getUnionAccess().getUnionKeyword_0()); 
            match(input,47,FOLLOW_47_in_rule__Union__Group__0__Impl7764); 
             after(grammarAccess.getUnionAccess().getUnionKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Union__Group__0__Impl"


    // $ANTLR start "rule__Union__Group__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3750:1: rule__Union__Group__1 : rule__Union__Group__1__Impl rule__Union__Group__2 ;
    public final void rule__Union__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3754:1: ( rule__Union__Group__1__Impl rule__Union__Group__2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3755:2: rule__Union__Group__1__Impl rule__Union__Group__2
            {
            pushFollow(FOLLOW_rule__Union__Group__1__Impl_in_rule__Union__Group__17795);
            rule__Union__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Union__Group__2_in_rule__Union__Group__17798);
            rule__Union__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Union__Group__1"


    // $ANTLR start "rule__Union__Group__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3762:1: rule__Union__Group__1__Impl : ( ( rule__Union__NameAssignment_1 ) ) ;
    public final void rule__Union__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3766:1: ( ( ( rule__Union__NameAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3767:1: ( ( rule__Union__NameAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3767:1: ( ( rule__Union__NameAssignment_1 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3768:1: ( rule__Union__NameAssignment_1 )
            {
             before(grammarAccess.getUnionAccess().getNameAssignment_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3769:1: ( rule__Union__NameAssignment_1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3769:2: rule__Union__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Union__NameAssignment_1_in_rule__Union__Group__1__Impl7825);
            rule__Union__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getUnionAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Union__Group__1__Impl"


    // $ANTLR start "rule__Union__Group__2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3779:1: rule__Union__Group__2 : rule__Union__Group__2__Impl rule__Union__Group__3 ;
    public final void rule__Union__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3783:1: ( rule__Union__Group__2__Impl rule__Union__Group__3 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3784:2: rule__Union__Group__2__Impl rule__Union__Group__3
            {
            pushFollow(FOLLOW_rule__Union__Group__2__Impl_in_rule__Union__Group__27855);
            rule__Union__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Union__Group__3_in_rule__Union__Group__27858);
            rule__Union__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Union__Group__2"


    // $ANTLR start "rule__Union__Group__2__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3791:1: rule__Union__Group__2__Impl : ( ( 'xsd_all' )? ) ;
    public final void rule__Union__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3795:1: ( ( ( 'xsd_all' )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3796:1: ( ( 'xsd_all' )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3796:1: ( ( 'xsd_all' )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3797:1: ( 'xsd_all' )?
            {
             before(grammarAccess.getUnionAccess().getXsd_allKeyword_2()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3798:1: ( 'xsd_all' )?
            int alt31=2;
            int LA31_0 = input.LA(1);

            if ( (LA31_0==46) ) {
                alt31=1;
            }
            switch (alt31) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3799:2: 'xsd_all'
                    {
                    match(input,46,FOLLOW_46_in_rule__Union__Group__2__Impl7887); 

                    }
                    break;

            }

             after(grammarAccess.getUnionAccess().getXsd_allKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Union__Group__2__Impl"


    // $ANTLR start "rule__Union__Group__3"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3810:1: rule__Union__Group__3 : rule__Union__Group__3__Impl rule__Union__Group__4 ;
    public final void rule__Union__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3814:1: ( rule__Union__Group__3__Impl rule__Union__Group__4 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3815:2: rule__Union__Group__3__Impl rule__Union__Group__4
            {
            pushFollow(FOLLOW_rule__Union__Group__3__Impl_in_rule__Union__Group__37920);
            rule__Union__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Union__Group__4_in_rule__Union__Group__37923);
            rule__Union__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Union__Group__3"


    // $ANTLR start "rule__Union__Group__3__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3822:1: rule__Union__Group__3__Impl : ( '{' ) ;
    public final void rule__Union__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3826:1: ( ( '{' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3827:1: ( '{' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3827:1: ( '{' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3828:1: '{'
            {
             before(grammarAccess.getUnionAccess().getLeftCurlyBracketKeyword_3()); 
            match(input,42,FOLLOW_42_in_rule__Union__Group__3__Impl7951); 
             after(grammarAccess.getUnionAccess().getLeftCurlyBracketKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Union__Group__3__Impl"


    // $ANTLR start "rule__Union__Group__4"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3841:1: rule__Union__Group__4 : rule__Union__Group__4__Impl rule__Union__Group__5 ;
    public final void rule__Union__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3845:1: ( rule__Union__Group__4__Impl rule__Union__Group__5 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3846:2: rule__Union__Group__4__Impl rule__Union__Group__5
            {
            pushFollow(FOLLOW_rule__Union__Group__4__Impl_in_rule__Union__Group__47982);
            rule__Union__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Union__Group__5_in_rule__Union__Group__47985);
            rule__Union__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Union__Group__4"


    // $ANTLR start "rule__Union__Group__4__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3853:1: rule__Union__Group__4__Impl : ( ( rule__Union__FieldsAssignment_4 )* ) ;
    public final void rule__Union__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3857:1: ( ( ( rule__Union__FieldsAssignment_4 )* ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3858:1: ( ( rule__Union__FieldsAssignment_4 )* )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3858:1: ( ( rule__Union__FieldsAssignment_4 )* )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3859:1: ( rule__Union__FieldsAssignment_4 )*
            {
             before(grammarAccess.getUnionAccess().getFieldsAssignment_4()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3860:1: ( rule__Union__FieldsAssignment_4 )*
            loop32:
            do {
                int alt32=2;
                int LA32_0 = input.LA(1);

                if ( (LA32_0==RULE_LONG||LA32_0==RULE_ID||(LA32_0>=16 && LA32_0<=17)||(LA32_0>=20 && LA32_0<=28)||LA32_0==56||(LA32_0>=59 && LA32_0<=60)) ) {
                    alt32=1;
                }


                switch (alt32) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3860:2: rule__Union__FieldsAssignment_4
            	    {
            	    pushFollow(FOLLOW_rule__Union__FieldsAssignment_4_in_rule__Union__Group__4__Impl8012);
            	    rule__Union__FieldsAssignment_4();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop32;
                }
            } while (true);

             after(grammarAccess.getUnionAccess().getFieldsAssignment_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Union__Group__4__Impl"


    // $ANTLR start "rule__Union__Group__5"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3870:1: rule__Union__Group__5 : rule__Union__Group__5__Impl rule__Union__Group__6 ;
    public final void rule__Union__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3874:1: ( rule__Union__Group__5__Impl rule__Union__Group__6 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3875:2: rule__Union__Group__5__Impl rule__Union__Group__6
            {
            pushFollow(FOLLOW_rule__Union__Group__5__Impl_in_rule__Union__Group__58043);
            rule__Union__Group__5__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Union__Group__6_in_rule__Union__Group__58046);
            rule__Union__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Union__Group__5"


    // $ANTLR start "rule__Union__Group__5__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3882:1: rule__Union__Group__5__Impl : ( '}' ) ;
    public final void rule__Union__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3886:1: ( ( '}' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3887:1: ( '}' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3887:1: ( '}' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3888:1: '}'
            {
             before(grammarAccess.getUnionAccess().getRightCurlyBracketKeyword_5()); 
            match(input,43,FOLLOW_43_in_rule__Union__Group__5__Impl8074); 
             after(grammarAccess.getUnionAccess().getRightCurlyBracketKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Union__Group__5__Impl"


    // $ANTLR start "rule__Union__Group__6"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3901:1: rule__Union__Group__6 : rule__Union__Group__6__Impl ;
    public final void rule__Union__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3905:1: ( rule__Union__Group__6__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3906:2: rule__Union__Group__6__Impl
            {
            pushFollow(FOLLOW_rule__Union__Group__6__Impl_in_rule__Union__Group__68105);
            rule__Union__Group__6__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Union__Group__6"


    // $ANTLR start "rule__Union__Group__6__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3912:1: rule__Union__Group__6__Impl : ( ( rule__Union__AnnotationAssignment_6 )? ) ;
    public final void rule__Union__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3916:1: ( ( ( rule__Union__AnnotationAssignment_6 )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3917:1: ( ( rule__Union__AnnotationAssignment_6 )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3917:1: ( ( rule__Union__AnnotationAssignment_6 )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3918:1: ( rule__Union__AnnotationAssignment_6 )?
            {
             before(grammarAccess.getUnionAccess().getAnnotationAssignment_6()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3919:1: ( rule__Union__AnnotationAssignment_6 )?
            int alt33=2;
            int LA33_0 = input.LA(1);

            if ( (LA33_0==39) ) {
                alt33=1;
            }
            switch (alt33) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3919:2: rule__Union__AnnotationAssignment_6
                    {
                    pushFollow(FOLLOW_rule__Union__AnnotationAssignment_6_in_rule__Union__Group__6__Impl8132);
                    rule__Union__AnnotationAssignment_6();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getUnionAccess().getAnnotationAssignment_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Union__Group__6__Impl"


    // $ANTLR start "rule__Exception__Group__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3943:1: rule__Exception__Group__0 : rule__Exception__Group__0__Impl rule__Exception__Group__1 ;
    public final void rule__Exception__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3947:1: ( rule__Exception__Group__0__Impl rule__Exception__Group__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3948:2: rule__Exception__Group__0__Impl rule__Exception__Group__1
            {
            pushFollow(FOLLOW_rule__Exception__Group__0__Impl_in_rule__Exception__Group__08177);
            rule__Exception__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Exception__Group__1_in_rule__Exception__Group__08180);
            rule__Exception__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Exception__Group__0"


    // $ANTLR start "rule__Exception__Group__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3955:1: rule__Exception__Group__0__Impl : ( 'exception' ) ;
    public final void rule__Exception__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3959:1: ( ( 'exception' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3960:1: ( 'exception' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3960:1: ( 'exception' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3961:1: 'exception'
            {
             before(grammarAccess.getExceptionAccess().getExceptionKeyword_0()); 
            match(input,48,FOLLOW_48_in_rule__Exception__Group__0__Impl8208); 
             after(grammarAccess.getExceptionAccess().getExceptionKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Exception__Group__0__Impl"


    // $ANTLR start "rule__Exception__Group__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3974:1: rule__Exception__Group__1 : rule__Exception__Group__1__Impl rule__Exception__Group__2 ;
    public final void rule__Exception__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3978:1: ( rule__Exception__Group__1__Impl rule__Exception__Group__2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3979:2: rule__Exception__Group__1__Impl rule__Exception__Group__2
            {
            pushFollow(FOLLOW_rule__Exception__Group__1__Impl_in_rule__Exception__Group__18239);
            rule__Exception__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Exception__Group__2_in_rule__Exception__Group__18242);
            rule__Exception__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Exception__Group__1"


    // $ANTLR start "rule__Exception__Group__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3986:1: rule__Exception__Group__1__Impl : ( ( rule__Exception__NameAssignment_1 ) ) ;
    public final void rule__Exception__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3990:1: ( ( ( rule__Exception__NameAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3991:1: ( ( rule__Exception__NameAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3991:1: ( ( rule__Exception__NameAssignment_1 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3992:1: ( rule__Exception__NameAssignment_1 )
            {
             before(grammarAccess.getExceptionAccess().getNameAssignment_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3993:1: ( rule__Exception__NameAssignment_1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:3993:2: rule__Exception__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Exception__NameAssignment_1_in_rule__Exception__Group__1__Impl8269);
            rule__Exception__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getExceptionAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Exception__Group__1__Impl"


    // $ANTLR start "rule__Exception__Group__2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4003:1: rule__Exception__Group__2 : rule__Exception__Group__2__Impl rule__Exception__Group__3 ;
    public final void rule__Exception__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4007:1: ( rule__Exception__Group__2__Impl rule__Exception__Group__3 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4008:2: rule__Exception__Group__2__Impl rule__Exception__Group__3
            {
            pushFollow(FOLLOW_rule__Exception__Group__2__Impl_in_rule__Exception__Group__28299);
            rule__Exception__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Exception__Group__3_in_rule__Exception__Group__28302);
            rule__Exception__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Exception__Group__2"


    // $ANTLR start "rule__Exception__Group__2__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4015:1: rule__Exception__Group__2__Impl : ( '{' ) ;
    public final void rule__Exception__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4019:1: ( ( '{' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4020:1: ( '{' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4020:1: ( '{' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4021:1: '{'
            {
             before(grammarAccess.getExceptionAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,42,FOLLOW_42_in_rule__Exception__Group__2__Impl8330); 
             after(grammarAccess.getExceptionAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Exception__Group__2__Impl"


    // $ANTLR start "rule__Exception__Group__3"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4034:1: rule__Exception__Group__3 : rule__Exception__Group__3__Impl rule__Exception__Group__4 ;
    public final void rule__Exception__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4038:1: ( rule__Exception__Group__3__Impl rule__Exception__Group__4 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4039:2: rule__Exception__Group__3__Impl rule__Exception__Group__4
            {
            pushFollow(FOLLOW_rule__Exception__Group__3__Impl_in_rule__Exception__Group__38361);
            rule__Exception__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Exception__Group__4_in_rule__Exception__Group__38364);
            rule__Exception__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Exception__Group__3"


    // $ANTLR start "rule__Exception__Group__3__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4046:1: rule__Exception__Group__3__Impl : ( ( rule__Exception__FieldsAssignment_3 )* ) ;
    public final void rule__Exception__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4050:1: ( ( ( rule__Exception__FieldsAssignment_3 )* ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4051:1: ( ( rule__Exception__FieldsAssignment_3 )* )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4051:1: ( ( rule__Exception__FieldsAssignment_3 )* )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4052:1: ( rule__Exception__FieldsAssignment_3 )*
            {
             before(grammarAccess.getExceptionAccess().getFieldsAssignment_3()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4053:1: ( rule__Exception__FieldsAssignment_3 )*
            loop34:
            do {
                int alt34=2;
                int LA34_0 = input.LA(1);

                if ( (LA34_0==RULE_LONG||LA34_0==RULE_ID||(LA34_0>=16 && LA34_0<=17)||(LA34_0>=20 && LA34_0<=28)||LA34_0==56||(LA34_0>=59 && LA34_0<=60)) ) {
                    alt34=1;
                }


                switch (alt34) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4053:2: rule__Exception__FieldsAssignment_3
            	    {
            	    pushFollow(FOLLOW_rule__Exception__FieldsAssignment_3_in_rule__Exception__Group__3__Impl8391);
            	    rule__Exception__FieldsAssignment_3();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop34;
                }
            } while (true);

             after(grammarAccess.getExceptionAccess().getFieldsAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Exception__Group__3__Impl"


    // $ANTLR start "rule__Exception__Group__4"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4063:1: rule__Exception__Group__4 : rule__Exception__Group__4__Impl ;
    public final void rule__Exception__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4067:1: ( rule__Exception__Group__4__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4068:2: rule__Exception__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__Exception__Group__4__Impl_in_rule__Exception__Group__48422);
            rule__Exception__Group__4__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Exception__Group__4"


    // $ANTLR start "rule__Exception__Group__4__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4074:1: rule__Exception__Group__4__Impl : ( '}' ) ;
    public final void rule__Exception__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4078:1: ( ( '}' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4079:1: ( '}' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4079:1: ( '}' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4080:1: '}'
            {
             before(grammarAccess.getExceptionAccess().getRightCurlyBracketKeyword_4()); 
            match(input,43,FOLLOW_43_in_rule__Exception__Group__4__Impl8450); 
             after(grammarAccess.getExceptionAccess().getRightCurlyBracketKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Exception__Group__4__Impl"


    // $ANTLR start "rule__Service__Group__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4103:1: rule__Service__Group__0 : rule__Service__Group__0__Impl rule__Service__Group__1 ;
    public final void rule__Service__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4107:1: ( rule__Service__Group__0__Impl rule__Service__Group__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4108:2: rule__Service__Group__0__Impl rule__Service__Group__1
            {
            pushFollow(FOLLOW_rule__Service__Group__0__Impl_in_rule__Service__Group__08491);
            rule__Service__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Service__Group__1_in_rule__Service__Group__08494);
            rule__Service__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Service__Group__0"


    // $ANTLR start "rule__Service__Group__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4115:1: rule__Service__Group__0__Impl : ( 'service' ) ;
    public final void rule__Service__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4119:1: ( ( 'service' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4120:1: ( 'service' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4120:1: ( 'service' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4121:1: 'service'
            {
             before(grammarAccess.getServiceAccess().getServiceKeyword_0()); 
            match(input,49,FOLLOW_49_in_rule__Service__Group__0__Impl8522); 
             after(grammarAccess.getServiceAccess().getServiceKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Service__Group__0__Impl"


    // $ANTLR start "rule__Service__Group__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4134:1: rule__Service__Group__1 : rule__Service__Group__1__Impl rule__Service__Group__2 ;
    public final void rule__Service__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4138:1: ( rule__Service__Group__1__Impl rule__Service__Group__2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4139:2: rule__Service__Group__1__Impl rule__Service__Group__2
            {
            pushFollow(FOLLOW_rule__Service__Group__1__Impl_in_rule__Service__Group__18553);
            rule__Service__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Service__Group__2_in_rule__Service__Group__18556);
            rule__Service__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Service__Group__1"


    // $ANTLR start "rule__Service__Group__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4146:1: rule__Service__Group__1__Impl : ( ( rule__Service__NameAssignment_1 ) ) ;
    public final void rule__Service__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4150:1: ( ( ( rule__Service__NameAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4151:1: ( ( rule__Service__NameAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4151:1: ( ( rule__Service__NameAssignment_1 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4152:1: ( rule__Service__NameAssignment_1 )
            {
             before(grammarAccess.getServiceAccess().getNameAssignment_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4153:1: ( rule__Service__NameAssignment_1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4153:2: rule__Service__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Service__NameAssignment_1_in_rule__Service__Group__1__Impl8583);
            rule__Service__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getServiceAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Service__Group__1__Impl"


    // $ANTLR start "rule__Service__Group__2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4163:1: rule__Service__Group__2 : rule__Service__Group__2__Impl rule__Service__Group__3 ;
    public final void rule__Service__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4167:1: ( rule__Service__Group__2__Impl rule__Service__Group__3 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4168:2: rule__Service__Group__2__Impl rule__Service__Group__3
            {
            pushFollow(FOLLOW_rule__Service__Group__2__Impl_in_rule__Service__Group__28613);
            rule__Service__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Service__Group__3_in_rule__Service__Group__28616);
            rule__Service__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Service__Group__2"


    // $ANTLR start "rule__Service__Group__2__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4175:1: rule__Service__Group__2__Impl : ( ( rule__Service__Group_2__0 )? ) ;
    public final void rule__Service__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4179:1: ( ( ( rule__Service__Group_2__0 )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4180:1: ( ( rule__Service__Group_2__0 )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4180:1: ( ( rule__Service__Group_2__0 )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4181:1: ( rule__Service__Group_2__0 )?
            {
             before(grammarAccess.getServiceAccess().getGroup_2()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4182:1: ( rule__Service__Group_2__0 )?
            int alt35=2;
            int LA35_0 = input.LA(1);

            if ( (LA35_0==50) ) {
                alt35=1;
            }
            switch (alt35) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4182:2: rule__Service__Group_2__0
                    {
                    pushFollow(FOLLOW_rule__Service__Group_2__0_in_rule__Service__Group__2__Impl8643);
                    rule__Service__Group_2__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getServiceAccess().getGroup_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Service__Group__2__Impl"


    // $ANTLR start "rule__Service__Group__3"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4192:1: rule__Service__Group__3 : rule__Service__Group__3__Impl rule__Service__Group__4 ;
    public final void rule__Service__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4196:1: ( rule__Service__Group__3__Impl rule__Service__Group__4 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4197:2: rule__Service__Group__3__Impl rule__Service__Group__4
            {
            pushFollow(FOLLOW_rule__Service__Group__3__Impl_in_rule__Service__Group__38674);
            rule__Service__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Service__Group__4_in_rule__Service__Group__38677);
            rule__Service__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Service__Group__3"


    // $ANTLR start "rule__Service__Group__3__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4204:1: rule__Service__Group__3__Impl : ( '{' ) ;
    public final void rule__Service__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4208:1: ( ( '{' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4209:1: ( '{' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4209:1: ( '{' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4210:1: '{'
            {
             before(grammarAccess.getServiceAccess().getLeftCurlyBracketKeyword_3()); 
            match(input,42,FOLLOW_42_in_rule__Service__Group__3__Impl8705); 
             after(grammarAccess.getServiceAccess().getLeftCurlyBracketKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Service__Group__3__Impl"


    // $ANTLR start "rule__Service__Group__4"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4223:1: rule__Service__Group__4 : rule__Service__Group__4__Impl rule__Service__Group__5 ;
    public final void rule__Service__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4227:1: ( rule__Service__Group__4__Impl rule__Service__Group__5 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4228:2: rule__Service__Group__4__Impl rule__Service__Group__5
            {
            pushFollow(FOLLOW_rule__Service__Group__4__Impl_in_rule__Service__Group__48736);
            rule__Service__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Service__Group__5_in_rule__Service__Group__48739);
            rule__Service__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Service__Group__4"


    // $ANTLR start "rule__Service__Group__4__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4235:1: rule__Service__Group__4__Impl : ( ( rule__Service__FunctionsAssignment_4 )* ) ;
    public final void rule__Service__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4239:1: ( ( ( rule__Service__FunctionsAssignment_4 )* ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4240:1: ( ( rule__Service__FunctionsAssignment_4 )* )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4240:1: ( ( rule__Service__FunctionsAssignment_4 )* )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4241:1: ( rule__Service__FunctionsAssignment_4 )*
            {
             before(grammarAccess.getServiceAccess().getFunctionsAssignment_4()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4242:1: ( rule__Service__FunctionsAssignment_4 )*
            loop36:
            do {
                int alt36=2;
                int LA36_0 = input.LA(1);

                if ( (LA36_0==RULE_ID||(LA36_0>=20 && LA36_0<=28)||LA36_0==56||(LA36_0>=59 && LA36_0<=60)||(LA36_0>=65 && LA36_0<=66)) ) {
                    alt36=1;
                }


                switch (alt36) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4242:2: rule__Service__FunctionsAssignment_4
            	    {
            	    pushFollow(FOLLOW_rule__Service__FunctionsAssignment_4_in_rule__Service__Group__4__Impl8766);
            	    rule__Service__FunctionsAssignment_4();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop36;
                }
            } while (true);

             after(grammarAccess.getServiceAccess().getFunctionsAssignment_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Service__Group__4__Impl"


    // $ANTLR start "rule__Service__Group__5"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4252:1: rule__Service__Group__5 : rule__Service__Group__5__Impl ;
    public final void rule__Service__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4256:1: ( rule__Service__Group__5__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4257:2: rule__Service__Group__5__Impl
            {
            pushFollow(FOLLOW_rule__Service__Group__5__Impl_in_rule__Service__Group__58797);
            rule__Service__Group__5__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Service__Group__5"


    // $ANTLR start "rule__Service__Group__5__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4263:1: rule__Service__Group__5__Impl : ( '}' ) ;
    public final void rule__Service__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4267:1: ( ( '}' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4268:1: ( '}' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4268:1: ( '}' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4269:1: '}'
            {
             before(grammarAccess.getServiceAccess().getRightCurlyBracketKeyword_5()); 
            match(input,43,FOLLOW_43_in_rule__Service__Group__5__Impl8825); 
             after(grammarAccess.getServiceAccess().getRightCurlyBracketKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Service__Group__5__Impl"


    // $ANTLR start "rule__Service__Group_2__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4294:1: rule__Service__Group_2__0 : rule__Service__Group_2__0__Impl rule__Service__Group_2__1 ;
    public final void rule__Service__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4298:1: ( rule__Service__Group_2__0__Impl rule__Service__Group_2__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4299:2: rule__Service__Group_2__0__Impl rule__Service__Group_2__1
            {
            pushFollow(FOLLOW_rule__Service__Group_2__0__Impl_in_rule__Service__Group_2__08868);
            rule__Service__Group_2__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Service__Group_2__1_in_rule__Service__Group_2__08871);
            rule__Service__Group_2__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Service__Group_2__0"


    // $ANTLR start "rule__Service__Group_2__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4306:1: rule__Service__Group_2__0__Impl : ( 'extends' ) ;
    public final void rule__Service__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4310:1: ( ( 'extends' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4311:1: ( 'extends' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4311:1: ( 'extends' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4312:1: 'extends'
            {
             before(grammarAccess.getServiceAccess().getExtendsKeyword_2_0()); 
            match(input,50,FOLLOW_50_in_rule__Service__Group_2__0__Impl8899); 
             after(grammarAccess.getServiceAccess().getExtendsKeyword_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Service__Group_2__0__Impl"


    // $ANTLR start "rule__Service__Group_2__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4325:1: rule__Service__Group_2__1 : rule__Service__Group_2__1__Impl ;
    public final void rule__Service__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4329:1: ( rule__Service__Group_2__1__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4330:2: rule__Service__Group_2__1__Impl
            {
            pushFollow(FOLLOW_rule__Service__Group_2__1__Impl_in_rule__Service__Group_2__18930);
            rule__Service__Group_2__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Service__Group_2__1"


    // $ANTLR start "rule__Service__Group_2__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4336:1: rule__Service__Group_2__1__Impl : ( ( rule__Service__SuperTypeAssignment_2_1 ) ) ;
    public final void rule__Service__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4340:1: ( ( ( rule__Service__SuperTypeAssignment_2_1 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4341:1: ( ( rule__Service__SuperTypeAssignment_2_1 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4341:1: ( ( rule__Service__SuperTypeAssignment_2_1 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4342:1: ( rule__Service__SuperTypeAssignment_2_1 )
            {
             before(grammarAccess.getServiceAccess().getSuperTypeAssignment_2_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4343:1: ( rule__Service__SuperTypeAssignment_2_1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4343:2: rule__Service__SuperTypeAssignment_2_1
            {
            pushFollow(FOLLOW_rule__Service__SuperTypeAssignment_2_1_in_rule__Service__Group_2__1__Impl8957);
            rule__Service__SuperTypeAssignment_2_1();

            state._fsp--;


            }

             after(grammarAccess.getServiceAccess().getSuperTypeAssignment_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Service__Group_2__1__Impl"


    // $ANTLR start "rule__Field__Group__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4357:1: rule__Field__Group__0 : rule__Field__Group__0__Impl rule__Field__Group__1 ;
    public final void rule__Field__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4361:1: ( rule__Field__Group__0__Impl rule__Field__Group__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4362:2: rule__Field__Group__0__Impl rule__Field__Group__1
            {
            pushFollow(FOLLOW_rule__Field__Group__0__Impl_in_rule__Field__Group__08991);
            rule__Field__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Field__Group__1_in_rule__Field__Group__08994);
            rule__Field__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group__0"


    // $ANTLR start "rule__Field__Group__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4369:1: rule__Field__Group__0__Impl : ( ( rule__Field__FieldIdAssignment_0 )? ) ;
    public final void rule__Field__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4373:1: ( ( ( rule__Field__FieldIdAssignment_0 )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4374:1: ( ( rule__Field__FieldIdAssignment_0 )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4374:1: ( ( rule__Field__FieldIdAssignment_0 )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4375:1: ( rule__Field__FieldIdAssignment_0 )?
            {
             before(grammarAccess.getFieldAccess().getFieldIdAssignment_0()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4376:1: ( rule__Field__FieldIdAssignment_0 )?
            int alt37=2;
            int LA37_0 = input.LA(1);

            if ( (LA37_0==RULE_LONG) ) {
                alt37=1;
            }
            switch (alt37) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4376:2: rule__Field__FieldIdAssignment_0
                    {
                    pushFollow(FOLLOW_rule__Field__FieldIdAssignment_0_in_rule__Field__Group__0__Impl9021);
                    rule__Field__FieldIdAssignment_0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getFieldAccess().getFieldIdAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group__0__Impl"


    // $ANTLR start "rule__Field__Group__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4386:1: rule__Field__Group__1 : rule__Field__Group__1__Impl rule__Field__Group__2 ;
    public final void rule__Field__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4390:1: ( rule__Field__Group__1__Impl rule__Field__Group__2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4391:2: rule__Field__Group__1__Impl rule__Field__Group__2
            {
            pushFollow(FOLLOW_rule__Field__Group__1__Impl_in_rule__Field__Group__19052);
            rule__Field__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Field__Group__2_in_rule__Field__Group__19055);
            rule__Field__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group__1"


    // $ANTLR start "rule__Field__Group__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4398:1: rule__Field__Group__1__Impl : ( ( rule__Field__FieldReqAssignment_1 )? ) ;
    public final void rule__Field__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4402:1: ( ( ( rule__Field__FieldReqAssignment_1 )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4403:1: ( ( rule__Field__FieldReqAssignment_1 )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4403:1: ( ( rule__Field__FieldReqAssignment_1 )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4404:1: ( rule__Field__FieldReqAssignment_1 )?
            {
             before(grammarAccess.getFieldAccess().getFieldReqAssignment_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4405:1: ( rule__Field__FieldReqAssignment_1 )?
            int alt38=2;
            int LA38_0 = input.LA(1);

            if ( ((LA38_0>=16 && LA38_0<=17)) ) {
                alt38=1;
            }
            switch (alt38) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4405:2: rule__Field__FieldReqAssignment_1
                    {
                    pushFollow(FOLLOW_rule__Field__FieldReqAssignment_1_in_rule__Field__Group__1__Impl9082);
                    rule__Field__FieldReqAssignment_1();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getFieldAccess().getFieldReqAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group__1__Impl"


    // $ANTLR start "rule__Field__Group__2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4415:1: rule__Field__Group__2 : rule__Field__Group__2__Impl rule__Field__Group__3 ;
    public final void rule__Field__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4419:1: ( rule__Field__Group__2__Impl rule__Field__Group__3 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4420:2: rule__Field__Group__2__Impl rule__Field__Group__3
            {
            pushFollow(FOLLOW_rule__Field__Group__2__Impl_in_rule__Field__Group__29113);
            rule__Field__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Field__Group__3_in_rule__Field__Group__29116);
            rule__Field__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group__2"


    // $ANTLR start "rule__Field__Group__2__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4427:1: rule__Field__Group__2__Impl : ( ( rule__Field__TypeAssignment_2 ) ) ;
    public final void rule__Field__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4431:1: ( ( ( rule__Field__TypeAssignment_2 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4432:1: ( ( rule__Field__TypeAssignment_2 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4432:1: ( ( rule__Field__TypeAssignment_2 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4433:1: ( rule__Field__TypeAssignment_2 )
            {
             before(grammarAccess.getFieldAccess().getTypeAssignment_2()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4434:1: ( rule__Field__TypeAssignment_2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4434:2: rule__Field__TypeAssignment_2
            {
            pushFollow(FOLLOW_rule__Field__TypeAssignment_2_in_rule__Field__Group__2__Impl9143);
            rule__Field__TypeAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getFieldAccess().getTypeAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group__2__Impl"


    // $ANTLR start "rule__Field__Group__3"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4444:1: rule__Field__Group__3 : rule__Field__Group__3__Impl rule__Field__Group__4 ;
    public final void rule__Field__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4448:1: ( rule__Field__Group__3__Impl rule__Field__Group__4 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4449:2: rule__Field__Group__3__Impl rule__Field__Group__4
            {
            pushFollow(FOLLOW_rule__Field__Group__3__Impl_in_rule__Field__Group__39173);
            rule__Field__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Field__Group__4_in_rule__Field__Group__39176);
            rule__Field__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group__3"


    // $ANTLR start "rule__Field__Group__3__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4456:1: rule__Field__Group__3__Impl : ( ( rule__Field__NameAssignment_3 ) ) ;
    public final void rule__Field__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4460:1: ( ( ( rule__Field__NameAssignment_3 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4461:1: ( ( rule__Field__NameAssignment_3 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4461:1: ( ( rule__Field__NameAssignment_3 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4462:1: ( rule__Field__NameAssignment_3 )
            {
             before(grammarAccess.getFieldAccess().getNameAssignment_3()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4463:1: ( rule__Field__NameAssignment_3 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4463:2: rule__Field__NameAssignment_3
            {
            pushFollow(FOLLOW_rule__Field__NameAssignment_3_in_rule__Field__Group__3__Impl9203);
            rule__Field__NameAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getFieldAccess().getNameAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group__3__Impl"


    // $ANTLR start "rule__Field__Group__4"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4473:1: rule__Field__Group__4 : rule__Field__Group__4__Impl rule__Field__Group__5 ;
    public final void rule__Field__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4477:1: ( rule__Field__Group__4__Impl rule__Field__Group__5 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4478:2: rule__Field__Group__4__Impl rule__Field__Group__5
            {
            pushFollow(FOLLOW_rule__Field__Group__4__Impl_in_rule__Field__Group__49233);
            rule__Field__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Field__Group__5_in_rule__Field__Group__49236);
            rule__Field__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group__4"


    // $ANTLR start "rule__Field__Group__4__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4485:1: rule__Field__Group__4__Impl : ( ( rule__Field__Group_4__0 )? ) ;
    public final void rule__Field__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4489:1: ( ( ( rule__Field__Group_4__0 )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4490:1: ( ( rule__Field__Group_4__0 )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4490:1: ( ( rule__Field__Group_4__0 )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4491:1: ( rule__Field__Group_4__0 )?
            {
             before(grammarAccess.getFieldAccess().getGroup_4()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4492:1: ( rule__Field__Group_4__0 )?
            int alt39=2;
            int LA39_0 = input.LA(1);

            if ( (LA39_0==37) ) {
                alt39=1;
            }
            switch (alt39) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4492:2: rule__Field__Group_4__0
                    {
                    pushFollow(FOLLOW_rule__Field__Group_4__0_in_rule__Field__Group__4__Impl9263);
                    rule__Field__Group_4__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getFieldAccess().getGroup_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group__4__Impl"


    // $ANTLR start "rule__Field__Group__5"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4502:1: rule__Field__Group__5 : rule__Field__Group__5__Impl rule__Field__Group__6 ;
    public final void rule__Field__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4506:1: ( rule__Field__Group__5__Impl rule__Field__Group__6 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4507:2: rule__Field__Group__5__Impl rule__Field__Group__6
            {
            pushFollow(FOLLOW_rule__Field__Group__5__Impl_in_rule__Field__Group__59294);
            rule__Field__Group__5__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Field__Group__6_in_rule__Field__Group__59297);
            rule__Field__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group__5"


    // $ANTLR start "rule__Field__Group__5__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4514:1: rule__Field__Group__5__Impl : ( ( rule__Field__AnnotationAssignment_5 )? ) ;
    public final void rule__Field__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4518:1: ( ( ( rule__Field__AnnotationAssignment_5 )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4519:1: ( ( rule__Field__AnnotationAssignment_5 )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4519:1: ( ( rule__Field__AnnotationAssignment_5 )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4520:1: ( rule__Field__AnnotationAssignment_5 )?
            {
             before(grammarAccess.getFieldAccess().getAnnotationAssignment_5()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4521:1: ( rule__Field__AnnotationAssignment_5 )?
            int alt40=2;
            int LA40_0 = input.LA(1);

            if ( (LA40_0==39) ) {
                alt40=1;
            }
            switch (alt40) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4521:2: rule__Field__AnnotationAssignment_5
                    {
                    pushFollow(FOLLOW_rule__Field__AnnotationAssignment_5_in_rule__Field__Group__5__Impl9324);
                    rule__Field__AnnotationAssignment_5();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getFieldAccess().getAnnotationAssignment_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group__5__Impl"


    // $ANTLR start "rule__Field__Group__6"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4531:1: rule__Field__Group__6 : rule__Field__Group__6__Impl rule__Field__Group__7 ;
    public final void rule__Field__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4535:1: ( rule__Field__Group__6__Impl rule__Field__Group__7 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4536:2: rule__Field__Group__6__Impl rule__Field__Group__7
            {
            pushFollow(FOLLOW_rule__Field__Group__6__Impl_in_rule__Field__Group__69355);
            rule__Field__Group__6__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Field__Group__7_in_rule__Field__Group__69358);
            rule__Field__Group__7();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group__6"


    // $ANTLR start "rule__Field__Group__6__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4543:1: rule__Field__Group__6__Impl : ( ( rule__Field__Group_6__0 ) ) ;
    public final void rule__Field__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4547:1: ( ( ( rule__Field__Group_6__0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4548:1: ( ( rule__Field__Group_6__0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4548:1: ( ( rule__Field__Group_6__0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4549:1: ( rule__Field__Group_6__0 )
            {
             before(grammarAccess.getFieldAccess().getGroup_6()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4550:1: ( rule__Field__Group_6__0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4550:2: rule__Field__Group_6__0
            {
            pushFollow(FOLLOW_rule__Field__Group_6__0_in_rule__Field__Group__6__Impl9385);
            rule__Field__Group_6__0();

            state._fsp--;


            }

             after(grammarAccess.getFieldAccess().getGroup_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group__6__Impl"


    // $ANTLR start "rule__Field__Group__7"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4560:1: rule__Field__Group__7 : rule__Field__Group__7__Impl ;
    public final void rule__Field__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4564:1: ( rule__Field__Group__7__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4565:2: rule__Field__Group__7__Impl
            {
            pushFollow(FOLLOW_rule__Field__Group__7__Impl_in_rule__Field__Group__79415);
            rule__Field__Group__7__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group__7"


    // $ANTLR start "rule__Field__Group__7__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4571:1: rule__Field__Group__7__Impl : ( ( ruleListSeparator )? ) ;
    public final void rule__Field__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4575:1: ( ( ( ruleListSeparator )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4576:1: ( ( ruleListSeparator )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4576:1: ( ( ruleListSeparator )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4577:1: ( ruleListSeparator )?
            {
             before(grammarAccess.getFieldAccess().getListSeparatorParserRuleCall_7()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4578:1: ( ruleListSeparator )?
            int alt41=2;
            int LA41_0 = input.LA(1);

            if ( ((LA41_0>=18 && LA41_0<=19)) ) {
                alt41=1;
            }
            switch (alt41) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4578:3: ruleListSeparator
                    {
                    pushFollow(FOLLOW_ruleListSeparator_in_rule__Field__Group__7__Impl9443);
                    ruleListSeparator();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getFieldAccess().getListSeparatorParserRuleCall_7()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group__7__Impl"


    // $ANTLR start "rule__Field__Group_4__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4604:1: rule__Field__Group_4__0 : rule__Field__Group_4__0__Impl rule__Field__Group_4__1 ;
    public final void rule__Field__Group_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4608:1: ( rule__Field__Group_4__0__Impl rule__Field__Group_4__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4609:2: rule__Field__Group_4__0__Impl rule__Field__Group_4__1
            {
            pushFollow(FOLLOW_rule__Field__Group_4__0__Impl_in_rule__Field__Group_4__09490);
            rule__Field__Group_4__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Field__Group_4__1_in_rule__Field__Group_4__09493);
            rule__Field__Group_4__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_4__0"


    // $ANTLR start "rule__Field__Group_4__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4616:1: rule__Field__Group_4__0__Impl : ( '=' ) ;
    public final void rule__Field__Group_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4620:1: ( ( '=' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4621:1: ( '=' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4621:1: ( '=' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4622:1: '='
            {
             before(grammarAccess.getFieldAccess().getEqualsSignKeyword_4_0()); 
            match(input,37,FOLLOW_37_in_rule__Field__Group_4__0__Impl9521); 
             after(grammarAccess.getFieldAccess().getEqualsSignKeyword_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_4__0__Impl"


    // $ANTLR start "rule__Field__Group_4__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4635:1: rule__Field__Group_4__1 : rule__Field__Group_4__1__Impl ;
    public final void rule__Field__Group_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4639:1: ( rule__Field__Group_4__1__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4640:2: rule__Field__Group_4__1__Impl
            {
            pushFollow(FOLLOW_rule__Field__Group_4__1__Impl_in_rule__Field__Group_4__19552);
            rule__Field__Group_4__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_4__1"


    // $ANTLR start "rule__Field__Group_4__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4646:1: rule__Field__Group_4__1__Impl : ( ( rule__Field__ValueAssignment_4_1 ) ) ;
    public final void rule__Field__Group_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4650:1: ( ( ( rule__Field__ValueAssignment_4_1 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4651:1: ( ( rule__Field__ValueAssignment_4_1 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4651:1: ( ( rule__Field__ValueAssignment_4_1 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4652:1: ( rule__Field__ValueAssignment_4_1 )
            {
             before(grammarAccess.getFieldAccess().getValueAssignment_4_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4653:1: ( rule__Field__ValueAssignment_4_1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4653:2: rule__Field__ValueAssignment_4_1
            {
            pushFollow(FOLLOW_rule__Field__ValueAssignment_4_1_in_rule__Field__Group_4__1__Impl9579);
            rule__Field__ValueAssignment_4_1();

            state._fsp--;


            }

             after(grammarAccess.getFieldAccess().getValueAssignment_4_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_4__1__Impl"


    // $ANTLR start "rule__Field__Group_6__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4667:1: rule__Field__Group_6__0 : rule__Field__Group_6__0__Impl rule__Field__Group_6__1 ;
    public final void rule__Field__Group_6__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4671:1: ( rule__Field__Group_6__0__Impl rule__Field__Group_6__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4672:2: rule__Field__Group_6__0__Impl rule__Field__Group_6__1
            {
            pushFollow(FOLLOW_rule__Field__Group_6__0__Impl_in_rule__Field__Group_6__09613);
            rule__Field__Group_6__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Field__Group_6__1_in_rule__Field__Group_6__09616);
            rule__Field__Group_6__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_6__0"


    // $ANTLR start "rule__Field__Group_6__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4679:1: rule__Field__Group_6__0__Impl : ( ( 'xsd_optional' )? ) ;
    public final void rule__Field__Group_6__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4683:1: ( ( ( 'xsd_optional' )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4684:1: ( ( 'xsd_optional' )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4684:1: ( ( 'xsd_optional' )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4685:1: ( 'xsd_optional' )?
            {
             before(grammarAccess.getFieldAccess().getXsd_optionalKeyword_6_0()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4686:1: ( 'xsd_optional' )?
            int alt42=2;
            int LA42_0 = input.LA(1);

            if ( (LA42_0==51) ) {
                alt42=1;
            }
            switch (alt42) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4687:2: 'xsd_optional'
                    {
                    match(input,51,FOLLOW_51_in_rule__Field__Group_6__0__Impl9645); 

                    }
                    break;

            }

             after(grammarAccess.getFieldAccess().getXsd_optionalKeyword_6_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_6__0__Impl"


    // $ANTLR start "rule__Field__Group_6__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4698:1: rule__Field__Group_6__1 : rule__Field__Group_6__1__Impl rule__Field__Group_6__2 ;
    public final void rule__Field__Group_6__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4702:1: ( rule__Field__Group_6__1__Impl rule__Field__Group_6__2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4703:2: rule__Field__Group_6__1__Impl rule__Field__Group_6__2
            {
            pushFollow(FOLLOW_rule__Field__Group_6__1__Impl_in_rule__Field__Group_6__19678);
            rule__Field__Group_6__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Field__Group_6__2_in_rule__Field__Group_6__19681);
            rule__Field__Group_6__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_6__1"


    // $ANTLR start "rule__Field__Group_6__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4710:1: rule__Field__Group_6__1__Impl : ( ( 'xsd_nillable' )? ) ;
    public final void rule__Field__Group_6__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4714:1: ( ( ( 'xsd_nillable' )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4715:1: ( ( 'xsd_nillable' )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4715:1: ( ( 'xsd_nillable' )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4716:1: ( 'xsd_nillable' )?
            {
             before(grammarAccess.getFieldAccess().getXsd_nillableKeyword_6_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4717:1: ( 'xsd_nillable' )?
            int alt43=2;
            int LA43_0 = input.LA(1);

            if ( (LA43_0==52) ) {
                alt43=1;
            }
            switch (alt43) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4718:2: 'xsd_nillable'
                    {
                    match(input,52,FOLLOW_52_in_rule__Field__Group_6__1__Impl9710); 

                    }
                    break;

            }

             after(grammarAccess.getFieldAccess().getXsd_nillableKeyword_6_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_6__1__Impl"


    // $ANTLR start "rule__Field__Group_6__2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4729:1: rule__Field__Group_6__2 : rule__Field__Group_6__2__Impl ;
    public final void rule__Field__Group_6__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4733:1: ( rule__Field__Group_6__2__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4734:2: rule__Field__Group_6__2__Impl
            {
            pushFollow(FOLLOW_rule__Field__Group_6__2__Impl_in_rule__Field__Group_6__29743);
            rule__Field__Group_6__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_6__2"


    // $ANTLR start "rule__Field__Group_6__2__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4740:1: rule__Field__Group_6__2__Impl : ( ( rule__Field__Group_6_2__0 )? ) ;
    public final void rule__Field__Group_6__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4744:1: ( ( ( rule__Field__Group_6_2__0 )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4745:1: ( ( rule__Field__Group_6_2__0 )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4745:1: ( ( rule__Field__Group_6_2__0 )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4746:1: ( rule__Field__Group_6_2__0 )?
            {
             before(grammarAccess.getFieldAccess().getGroup_6_2()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4747:1: ( rule__Field__Group_6_2__0 )?
            int alt44=2;
            int LA44_0 = input.LA(1);

            if ( (LA44_0==53) ) {
                alt44=1;
            }
            switch (alt44) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4747:2: rule__Field__Group_6_2__0
                    {
                    pushFollow(FOLLOW_rule__Field__Group_6_2__0_in_rule__Field__Group_6__2__Impl9770);
                    rule__Field__Group_6_2__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getFieldAccess().getGroup_6_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_6__2__Impl"


    // $ANTLR start "rule__Field__Group_6_2__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4763:1: rule__Field__Group_6_2__0 : rule__Field__Group_6_2__0__Impl rule__Field__Group_6_2__1 ;
    public final void rule__Field__Group_6_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4767:1: ( rule__Field__Group_6_2__0__Impl rule__Field__Group_6_2__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4768:2: rule__Field__Group_6_2__0__Impl rule__Field__Group_6_2__1
            {
            pushFollow(FOLLOW_rule__Field__Group_6_2__0__Impl_in_rule__Field__Group_6_2__09807);
            rule__Field__Group_6_2__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Field__Group_6_2__1_in_rule__Field__Group_6_2__09810);
            rule__Field__Group_6_2__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_6_2__0"


    // $ANTLR start "rule__Field__Group_6_2__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4775:1: rule__Field__Group_6_2__0__Impl : ( 'xsd_attrs' ) ;
    public final void rule__Field__Group_6_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4779:1: ( ( 'xsd_attrs' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4780:1: ( 'xsd_attrs' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4780:1: ( 'xsd_attrs' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4781:1: 'xsd_attrs'
            {
             before(grammarAccess.getFieldAccess().getXsd_attrsKeyword_6_2_0()); 
            match(input,53,FOLLOW_53_in_rule__Field__Group_6_2__0__Impl9838); 
             after(grammarAccess.getFieldAccess().getXsd_attrsKeyword_6_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_6_2__0__Impl"


    // $ANTLR start "rule__Field__Group_6_2__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4794:1: rule__Field__Group_6_2__1 : rule__Field__Group_6_2__1__Impl rule__Field__Group_6_2__2 ;
    public final void rule__Field__Group_6_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4798:1: ( rule__Field__Group_6_2__1__Impl rule__Field__Group_6_2__2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4799:2: rule__Field__Group_6_2__1__Impl rule__Field__Group_6_2__2
            {
            pushFollow(FOLLOW_rule__Field__Group_6_2__1__Impl_in_rule__Field__Group_6_2__19869);
            rule__Field__Group_6_2__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Field__Group_6_2__2_in_rule__Field__Group_6_2__19872);
            rule__Field__Group_6_2__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_6_2__1"


    // $ANTLR start "rule__Field__Group_6_2__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4806:1: rule__Field__Group_6_2__1__Impl : ( '{' ) ;
    public final void rule__Field__Group_6_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4810:1: ( ( '{' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4811:1: ( '{' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4811:1: ( '{' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4812:1: '{'
            {
             before(grammarAccess.getFieldAccess().getLeftCurlyBracketKeyword_6_2_1()); 
            match(input,42,FOLLOW_42_in_rule__Field__Group_6_2__1__Impl9900); 
             after(grammarAccess.getFieldAccess().getLeftCurlyBracketKeyword_6_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_6_2__1__Impl"


    // $ANTLR start "rule__Field__Group_6_2__2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4825:1: rule__Field__Group_6_2__2 : rule__Field__Group_6_2__2__Impl rule__Field__Group_6_2__3 ;
    public final void rule__Field__Group_6_2__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4829:1: ( rule__Field__Group_6_2__2__Impl rule__Field__Group_6_2__3 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4830:2: rule__Field__Group_6_2__2__Impl rule__Field__Group_6_2__3
            {
            pushFollow(FOLLOW_rule__Field__Group_6_2__2__Impl_in_rule__Field__Group_6_2__29931);
            rule__Field__Group_6_2__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Field__Group_6_2__3_in_rule__Field__Group_6_2__29934);
            rule__Field__Group_6_2__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_6_2__2"


    // $ANTLR start "rule__Field__Group_6_2__2__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4837:1: rule__Field__Group_6_2__2__Impl : ( ( rule__Field__FieldsAssignment_6_2_2 )* ) ;
    public final void rule__Field__Group_6_2__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4841:1: ( ( ( rule__Field__FieldsAssignment_6_2_2 )* ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4842:1: ( ( rule__Field__FieldsAssignment_6_2_2 )* )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4842:1: ( ( rule__Field__FieldsAssignment_6_2_2 )* )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4843:1: ( rule__Field__FieldsAssignment_6_2_2 )*
            {
             before(grammarAccess.getFieldAccess().getFieldsAssignment_6_2_2()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4844:1: ( rule__Field__FieldsAssignment_6_2_2 )*
            loop45:
            do {
                int alt45=2;
                int LA45_0 = input.LA(1);

                if ( (LA45_0==RULE_LONG||LA45_0==RULE_ID||(LA45_0>=16 && LA45_0<=17)||(LA45_0>=20 && LA45_0<=28)||LA45_0==56||(LA45_0>=59 && LA45_0<=60)) ) {
                    alt45=1;
                }


                switch (alt45) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4844:2: rule__Field__FieldsAssignment_6_2_2
            	    {
            	    pushFollow(FOLLOW_rule__Field__FieldsAssignment_6_2_2_in_rule__Field__Group_6_2__2__Impl9961);
            	    rule__Field__FieldsAssignment_6_2_2();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop45;
                }
            } while (true);

             after(grammarAccess.getFieldAccess().getFieldsAssignment_6_2_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_6_2__2__Impl"


    // $ANTLR start "rule__Field__Group_6_2__3"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4854:1: rule__Field__Group_6_2__3 : rule__Field__Group_6_2__3__Impl ;
    public final void rule__Field__Group_6_2__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4858:1: ( rule__Field__Group_6_2__3__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4859:2: rule__Field__Group_6_2__3__Impl
            {
            pushFollow(FOLLOW_rule__Field__Group_6_2__3__Impl_in_rule__Field__Group_6_2__39992);
            rule__Field__Group_6_2__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_6_2__3"


    // $ANTLR start "rule__Field__Group_6_2__3__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4865:1: rule__Field__Group_6_2__3__Impl : ( '}' ) ;
    public final void rule__Field__Group_6_2__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4869:1: ( ( '}' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4870:1: ( '}' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4870:1: ( '}' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4871:1: '}'
            {
             before(grammarAccess.getFieldAccess().getRightCurlyBracketKeyword_6_2_3()); 
            match(input,43,FOLLOW_43_in_rule__Field__Group_6_2__3__Impl10020); 
             after(grammarAccess.getFieldAccess().getRightCurlyBracketKeyword_6_2_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_6_2__3__Impl"


    // $ANTLR start "rule__FieldID__Group__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4892:1: rule__FieldID__Group__0 : rule__FieldID__Group__0__Impl rule__FieldID__Group__1 ;
    public final void rule__FieldID__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4896:1: ( rule__FieldID__Group__0__Impl rule__FieldID__Group__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4897:2: rule__FieldID__Group__0__Impl rule__FieldID__Group__1
            {
            pushFollow(FOLLOW_rule__FieldID__Group__0__Impl_in_rule__FieldID__Group__010059);
            rule__FieldID__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__FieldID__Group__1_in_rule__FieldID__Group__010062);
            rule__FieldID__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FieldID__Group__0"


    // $ANTLR start "rule__FieldID__Group__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4904:1: rule__FieldID__Group__0__Impl : ( RULE_LONG ) ;
    public final void rule__FieldID__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4908:1: ( ( RULE_LONG ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4909:1: ( RULE_LONG )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4909:1: ( RULE_LONG )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4910:1: RULE_LONG
            {
             before(grammarAccess.getFieldIDAccess().getLONGTerminalRuleCall_0()); 
            match(input,RULE_LONG,FOLLOW_RULE_LONG_in_rule__FieldID__Group__0__Impl10089); 
             after(grammarAccess.getFieldIDAccess().getLONGTerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FieldID__Group__0__Impl"


    // $ANTLR start "rule__FieldID__Group__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4921:1: rule__FieldID__Group__1 : rule__FieldID__Group__1__Impl ;
    public final void rule__FieldID__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4925:1: ( rule__FieldID__Group__1__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4926:2: rule__FieldID__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__FieldID__Group__1__Impl_in_rule__FieldID__Group__110118);
            rule__FieldID__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FieldID__Group__1"


    // $ANTLR start "rule__FieldID__Group__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4932:1: rule__FieldID__Group__1__Impl : ( ':' ) ;
    public final void rule__FieldID__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4936:1: ( ( ':' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4937:1: ( ':' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4937:1: ( ':' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4938:1: ':'
            {
             before(grammarAccess.getFieldIDAccess().getColonKeyword_1()); 
            match(input,54,FOLLOW_54_in_rule__FieldID__Group__1__Impl10146); 
             after(grammarAccess.getFieldIDAccess().getColonKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FieldID__Group__1__Impl"


    // $ANTLR start "rule__Function__Group__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4955:1: rule__Function__Group__0 : rule__Function__Group__0__Impl rule__Function__Group__1 ;
    public final void rule__Function__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4959:1: ( rule__Function__Group__0__Impl rule__Function__Group__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4960:2: rule__Function__Group__0__Impl rule__Function__Group__1
            {
            pushFollow(FOLLOW_rule__Function__Group__0__Impl_in_rule__Function__Group__010181);
            rule__Function__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Function__Group__1_in_rule__Function__Group__010184);
            rule__Function__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Function__Group__0"


    // $ANTLR start "rule__Function__Group__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4967:1: rule__Function__Group__0__Impl : ( ( rule__Function__FunctionTypeAssignment_0 ) ) ;
    public final void rule__Function__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4971:1: ( ( ( rule__Function__FunctionTypeAssignment_0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4972:1: ( ( rule__Function__FunctionTypeAssignment_0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4972:1: ( ( rule__Function__FunctionTypeAssignment_0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4973:1: ( rule__Function__FunctionTypeAssignment_0 )
            {
             before(grammarAccess.getFunctionAccess().getFunctionTypeAssignment_0()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4974:1: ( rule__Function__FunctionTypeAssignment_0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4974:2: rule__Function__FunctionTypeAssignment_0
            {
            pushFollow(FOLLOW_rule__Function__FunctionTypeAssignment_0_in_rule__Function__Group__0__Impl10211);
            rule__Function__FunctionTypeAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getFunctionAccess().getFunctionTypeAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Function__Group__0__Impl"


    // $ANTLR start "rule__Function__Group__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4984:1: rule__Function__Group__1 : rule__Function__Group__1__Impl rule__Function__Group__2 ;
    public final void rule__Function__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4988:1: ( rule__Function__Group__1__Impl rule__Function__Group__2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4989:2: rule__Function__Group__1__Impl rule__Function__Group__2
            {
            pushFollow(FOLLOW_rule__Function__Group__1__Impl_in_rule__Function__Group__110241);
            rule__Function__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Function__Group__2_in_rule__Function__Group__110244);
            rule__Function__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Function__Group__1"


    // $ANTLR start "rule__Function__Group__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:4996:1: rule__Function__Group__1__Impl : ( ( rule__Function__NameAssignment_1 ) ) ;
    public final void rule__Function__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5000:1: ( ( ( rule__Function__NameAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5001:1: ( ( rule__Function__NameAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5001:1: ( ( rule__Function__NameAssignment_1 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5002:1: ( rule__Function__NameAssignment_1 )
            {
             before(grammarAccess.getFunctionAccess().getNameAssignment_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5003:1: ( rule__Function__NameAssignment_1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5003:2: rule__Function__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Function__NameAssignment_1_in_rule__Function__Group__1__Impl10271);
            rule__Function__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getFunctionAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Function__Group__1__Impl"


    // $ANTLR start "rule__Function__Group__2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5013:1: rule__Function__Group__2 : rule__Function__Group__2__Impl rule__Function__Group__3 ;
    public final void rule__Function__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5017:1: ( rule__Function__Group__2__Impl rule__Function__Group__3 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5018:2: rule__Function__Group__2__Impl rule__Function__Group__3
            {
            pushFollow(FOLLOW_rule__Function__Group__2__Impl_in_rule__Function__Group__210301);
            rule__Function__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Function__Group__3_in_rule__Function__Group__210304);
            rule__Function__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Function__Group__2"


    // $ANTLR start "rule__Function__Group__2__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5025:1: rule__Function__Group__2__Impl : ( '(' ) ;
    public final void rule__Function__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5029:1: ( ( '(' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5030:1: ( '(' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5030:1: ( '(' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5031:1: '('
            {
             before(grammarAccess.getFunctionAccess().getLeftParenthesisKeyword_2()); 
            match(input,39,FOLLOW_39_in_rule__Function__Group__2__Impl10332); 
             after(grammarAccess.getFunctionAccess().getLeftParenthesisKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Function__Group__2__Impl"


    // $ANTLR start "rule__Function__Group__3"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5044:1: rule__Function__Group__3 : rule__Function__Group__3__Impl rule__Function__Group__4 ;
    public final void rule__Function__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5048:1: ( rule__Function__Group__3__Impl rule__Function__Group__4 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5049:2: rule__Function__Group__3__Impl rule__Function__Group__4
            {
            pushFollow(FOLLOW_rule__Function__Group__3__Impl_in_rule__Function__Group__310363);
            rule__Function__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Function__Group__4_in_rule__Function__Group__310366);
            rule__Function__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Function__Group__3"


    // $ANTLR start "rule__Function__Group__3__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5056:1: rule__Function__Group__3__Impl : ( ( rule__Function__FieldsAssignment_3 )* ) ;
    public final void rule__Function__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5060:1: ( ( ( rule__Function__FieldsAssignment_3 )* ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5061:1: ( ( rule__Function__FieldsAssignment_3 )* )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5061:1: ( ( rule__Function__FieldsAssignment_3 )* )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5062:1: ( rule__Function__FieldsAssignment_3 )*
            {
             before(grammarAccess.getFunctionAccess().getFieldsAssignment_3()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5063:1: ( rule__Function__FieldsAssignment_3 )*
            loop46:
            do {
                int alt46=2;
                int LA46_0 = input.LA(1);

                if ( (LA46_0==RULE_LONG||LA46_0==RULE_ID||(LA46_0>=16 && LA46_0<=17)||(LA46_0>=20 && LA46_0<=28)||LA46_0==56||(LA46_0>=59 && LA46_0<=60)) ) {
                    alt46=1;
                }


                switch (alt46) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5063:2: rule__Function__FieldsAssignment_3
            	    {
            	    pushFollow(FOLLOW_rule__Function__FieldsAssignment_3_in_rule__Function__Group__3__Impl10393);
            	    rule__Function__FieldsAssignment_3();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop46;
                }
            } while (true);

             after(grammarAccess.getFunctionAccess().getFieldsAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Function__Group__3__Impl"


    // $ANTLR start "rule__Function__Group__4"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5073:1: rule__Function__Group__4 : rule__Function__Group__4__Impl rule__Function__Group__5 ;
    public final void rule__Function__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5077:1: ( rule__Function__Group__4__Impl rule__Function__Group__5 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5078:2: rule__Function__Group__4__Impl rule__Function__Group__5
            {
            pushFollow(FOLLOW_rule__Function__Group__4__Impl_in_rule__Function__Group__410424);
            rule__Function__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Function__Group__5_in_rule__Function__Group__410427);
            rule__Function__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Function__Group__4"


    // $ANTLR start "rule__Function__Group__4__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5085:1: rule__Function__Group__4__Impl : ( ')' ) ;
    public final void rule__Function__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5089:1: ( ( ')' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5090:1: ( ')' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5090:1: ( ')' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5091:1: ')'
            {
             before(grammarAccess.getFunctionAccess().getRightParenthesisKeyword_4()); 
            match(input,40,FOLLOW_40_in_rule__Function__Group__4__Impl10455); 
             after(grammarAccess.getFunctionAccess().getRightParenthesisKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Function__Group__4__Impl"


    // $ANTLR start "rule__Function__Group__5"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5104:1: rule__Function__Group__5 : rule__Function__Group__5__Impl rule__Function__Group__6 ;
    public final void rule__Function__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5108:1: ( rule__Function__Group__5__Impl rule__Function__Group__6 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5109:2: rule__Function__Group__5__Impl rule__Function__Group__6
            {
            pushFollow(FOLLOW_rule__Function__Group__5__Impl_in_rule__Function__Group__510486);
            rule__Function__Group__5__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Function__Group__6_in_rule__Function__Group__510489);
            rule__Function__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Function__Group__5"


    // $ANTLR start "rule__Function__Group__5__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5116:1: rule__Function__Group__5__Impl : ( ( rule__Function__ThrowsDeclAssignment_5 )? ) ;
    public final void rule__Function__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5120:1: ( ( ( rule__Function__ThrowsDeclAssignment_5 )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5121:1: ( ( rule__Function__ThrowsDeclAssignment_5 )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5121:1: ( ( rule__Function__ThrowsDeclAssignment_5 )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5122:1: ( rule__Function__ThrowsDeclAssignment_5 )?
            {
             before(grammarAccess.getFunctionAccess().getThrowsDeclAssignment_5()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5123:1: ( rule__Function__ThrowsDeclAssignment_5 )?
            int alt47=2;
            int LA47_0 = input.LA(1);

            if ( (LA47_0==55) ) {
                alt47=1;
            }
            switch (alt47) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5123:2: rule__Function__ThrowsDeclAssignment_5
                    {
                    pushFollow(FOLLOW_rule__Function__ThrowsDeclAssignment_5_in_rule__Function__Group__5__Impl10516);
                    rule__Function__ThrowsDeclAssignment_5();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getFunctionAccess().getThrowsDeclAssignment_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Function__Group__5__Impl"


    // $ANTLR start "rule__Function__Group__6"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5133:1: rule__Function__Group__6 : rule__Function__Group__6__Impl ;
    public final void rule__Function__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5137:1: ( rule__Function__Group__6__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5138:2: rule__Function__Group__6__Impl
            {
            pushFollow(FOLLOW_rule__Function__Group__6__Impl_in_rule__Function__Group__610547);
            rule__Function__Group__6__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Function__Group__6"


    // $ANTLR start "rule__Function__Group__6__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5144:1: rule__Function__Group__6__Impl : ( ( ruleListSeparator )? ) ;
    public final void rule__Function__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5148:1: ( ( ( ruleListSeparator )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5149:1: ( ( ruleListSeparator )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5149:1: ( ( ruleListSeparator )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5150:1: ( ruleListSeparator )?
            {
             before(grammarAccess.getFunctionAccess().getListSeparatorParserRuleCall_6()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5151:1: ( ruleListSeparator )?
            int alt48=2;
            int LA48_0 = input.LA(1);

            if ( ((LA48_0>=18 && LA48_0<=19)) ) {
                alt48=1;
            }
            switch (alt48) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5151:3: ruleListSeparator
                    {
                    pushFollow(FOLLOW_ruleListSeparator_in_rule__Function__Group__6__Impl10575);
                    ruleListSeparator();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getFunctionAccess().getListSeparatorParserRuleCall_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Function__Group__6__Impl"


    // $ANTLR start "rule__FunctionType__Group_0__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5175:1: rule__FunctionType__Group_0__0 : rule__FunctionType__Group_0__0__Impl rule__FunctionType__Group_0__1 ;
    public final void rule__FunctionType__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5179:1: ( rule__FunctionType__Group_0__0__Impl rule__FunctionType__Group_0__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5180:2: rule__FunctionType__Group_0__0__Impl rule__FunctionType__Group_0__1
            {
            pushFollow(FOLLOW_rule__FunctionType__Group_0__0__Impl_in_rule__FunctionType__Group_0__010620);
            rule__FunctionType__Group_0__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__FunctionType__Group_0__1_in_rule__FunctionType__Group_0__010623);
            rule__FunctionType__Group_0__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionType__Group_0__0"


    // $ANTLR start "rule__FunctionType__Group_0__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5187:1: rule__FunctionType__Group_0__0__Impl : ( ( rule__FunctionType__OnewayAssignment_0_0 )? ) ;
    public final void rule__FunctionType__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5191:1: ( ( ( rule__FunctionType__OnewayAssignment_0_0 )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5192:1: ( ( rule__FunctionType__OnewayAssignment_0_0 )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5192:1: ( ( rule__FunctionType__OnewayAssignment_0_0 )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5193:1: ( rule__FunctionType__OnewayAssignment_0_0 )?
            {
             before(grammarAccess.getFunctionTypeAccess().getOnewayAssignment_0_0()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5194:1: ( rule__FunctionType__OnewayAssignment_0_0 )?
            int alt49=2;
            int LA49_0 = input.LA(1);

            if ( (LA49_0==65) ) {
                alt49=1;
            }
            switch (alt49) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5194:2: rule__FunctionType__OnewayAssignment_0_0
                    {
                    pushFollow(FOLLOW_rule__FunctionType__OnewayAssignment_0_0_in_rule__FunctionType__Group_0__0__Impl10650);
                    rule__FunctionType__OnewayAssignment_0_0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getFunctionTypeAccess().getOnewayAssignment_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionType__Group_0__0__Impl"


    // $ANTLR start "rule__FunctionType__Group_0__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5204:1: rule__FunctionType__Group_0__1 : rule__FunctionType__Group_0__1__Impl ;
    public final void rule__FunctionType__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5208:1: ( rule__FunctionType__Group_0__1__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5209:2: rule__FunctionType__Group_0__1__Impl
            {
            pushFollow(FOLLOW_rule__FunctionType__Group_0__1__Impl_in_rule__FunctionType__Group_0__110681);
            rule__FunctionType__Group_0__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionType__Group_0__1"


    // $ANTLR start "rule__FunctionType__Group_0__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5215:1: rule__FunctionType__Group_0__1__Impl : ( ( rule__FunctionType__TypeAssignment_0_1 ) ) ;
    public final void rule__FunctionType__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5219:1: ( ( ( rule__FunctionType__TypeAssignment_0_1 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5220:1: ( ( rule__FunctionType__TypeAssignment_0_1 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5220:1: ( ( rule__FunctionType__TypeAssignment_0_1 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5221:1: ( rule__FunctionType__TypeAssignment_0_1 )
            {
             before(grammarAccess.getFunctionTypeAccess().getTypeAssignment_0_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5222:1: ( rule__FunctionType__TypeAssignment_0_1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5222:2: rule__FunctionType__TypeAssignment_0_1
            {
            pushFollow(FOLLOW_rule__FunctionType__TypeAssignment_0_1_in_rule__FunctionType__Group_0__1__Impl10708);
            rule__FunctionType__TypeAssignment_0_1();

            state._fsp--;


            }

             after(grammarAccess.getFunctionTypeAccess().getTypeAssignment_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionType__Group_0__1__Impl"


    // $ANTLR start "rule__Throws__Group__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5236:1: rule__Throws__Group__0 : rule__Throws__Group__0__Impl rule__Throws__Group__1 ;
    public final void rule__Throws__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5240:1: ( rule__Throws__Group__0__Impl rule__Throws__Group__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5241:2: rule__Throws__Group__0__Impl rule__Throws__Group__1
            {
            pushFollow(FOLLOW_rule__Throws__Group__0__Impl_in_rule__Throws__Group__010742);
            rule__Throws__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Throws__Group__1_in_rule__Throws__Group__010745);
            rule__Throws__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Throws__Group__0"


    // $ANTLR start "rule__Throws__Group__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5248:1: rule__Throws__Group__0__Impl : ( 'throws' ) ;
    public final void rule__Throws__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5252:1: ( ( 'throws' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5253:1: ( 'throws' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5253:1: ( 'throws' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5254:1: 'throws'
            {
             before(grammarAccess.getThrowsAccess().getThrowsKeyword_0()); 
            match(input,55,FOLLOW_55_in_rule__Throws__Group__0__Impl10773); 
             after(grammarAccess.getThrowsAccess().getThrowsKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Throws__Group__0__Impl"


    // $ANTLR start "rule__Throws__Group__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5267:1: rule__Throws__Group__1 : rule__Throws__Group__1__Impl rule__Throws__Group__2 ;
    public final void rule__Throws__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5271:1: ( rule__Throws__Group__1__Impl rule__Throws__Group__2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5272:2: rule__Throws__Group__1__Impl rule__Throws__Group__2
            {
            pushFollow(FOLLOW_rule__Throws__Group__1__Impl_in_rule__Throws__Group__110804);
            rule__Throws__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Throws__Group__2_in_rule__Throws__Group__110807);
            rule__Throws__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Throws__Group__1"


    // $ANTLR start "rule__Throws__Group__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5279:1: rule__Throws__Group__1__Impl : ( '(' ) ;
    public final void rule__Throws__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5283:1: ( ( '(' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5284:1: ( '(' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5284:1: ( '(' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5285:1: '('
            {
             before(grammarAccess.getThrowsAccess().getLeftParenthesisKeyword_1()); 
            match(input,39,FOLLOW_39_in_rule__Throws__Group__1__Impl10835); 
             after(grammarAccess.getThrowsAccess().getLeftParenthesisKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Throws__Group__1__Impl"


    // $ANTLR start "rule__Throws__Group__2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5298:1: rule__Throws__Group__2 : rule__Throws__Group__2__Impl rule__Throws__Group__3 ;
    public final void rule__Throws__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5302:1: ( rule__Throws__Group__2__Impl rule__Throws__Group__3 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5303:2: rule__Throws__Group__2__Impl rule__Throws__Group__3
            {
            pushFollow(FOLLOW_rule__Throws__Group__2__Impl_in_rule__Throws__Group__210866);
            rule__Throws__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Throws__Group__3_in_rule__Throws__Group__210869);
            rule__Throws__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Throws__Group__2"


    // $ANTLR start "rule__Throws__Group__2__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5310:1: rule__Throws__Group__2__Impl : ( ( rule__Throws__FieldsAssignment_2 ) ) ;
    public final void rule__Throws__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5314:1: ( ( ( rule__Throws__FieldsAssignment_2 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5315:1: ( ( rule__Throws__FieldsAssignment_2 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5315:1: ( ( rule__Throws__FieldsAssignment_2 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5316:1: ( rule__Throws__FieldsAssignment_2 )
            {
             before(grammarAccess.getThrowsAccess().getFieldsAssignment_2()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5317:1: ( rule__Throws__FieldsAssignment_2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5317:2: rule__Throws__FieldsAssignment_2
            {
            pushFollow(FOLLOW_rule__Throws__FieldsAssignment_2_in_rule__Throws__Group__2__Impl10896);
            rule__Throws__FieldsAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getThrowsAccess().getFieldsAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Throws__Group__2__Impl"


    // $ANTLR start "rule__Throws__Group__3"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5327:1: rule__Throws__Group__3 : rule__Throws__Group__3__Impl rule__Throws__Group__4 ;
    public final void rule__Throws__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5331:1: ( rule__Throws__Group__3__Impl rule__Throws__Group__4 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5332:2: rule__Throws__Group__3__Impl rule__Throws__Group__4
            {
            pushFollow(FOLLOW_rule__Throws__Group__3__Impl_in_rule__Throws__Group__310926);
            rule__Throws__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Throws__Group__4_in_rule__Throws__Group__310929);
            rule__Throws__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Throws__Group__3"


    // $ANTLR start "rule__Throws__Group__3__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5339:1: rule__Throws__Group__3__Impl : ( ( rule__Throws__Group_3__0 )* ) ;
    public final void rule__Throws__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5343:1: ( ( ( rule__Throws__Group_3__0 )* ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5344:1: ( ( rule__Throws__Group_3__0 )* )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5344:1: ( ( rule__Throws__Group_3__0 )* )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5345:1: ( rule__Throws__Group_3__0 )*
            {
             before(grammarAccess.getThrowsAccess().getGroup_3()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5346:1: ( rule__Throws__Group_3__0 )*
            loop50:
            do {
                int alt50=2;
                int LA50_0 = input.LA(1);

                if ( (LA50_0==18) ) {
                    alt50=1;
                }


                switch (alt50) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5346:2: rule__Throws__Group_3__0
            	    {
            	    pushFollow(FOLLOW_rule__Throws__Group_3__0_in_rule__Throws__Group__3__Impl10956);
            	    rule__Throws__Group_3__0();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop50;
                }
            } while (true);

             after(grammarAccess.getThrowsAccess().getGroup_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Throws__Group__3__Impl"


    // $ANTLR start "rule__Throws__Group__4"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5356:1: rule__Throws__Group__4 : rule__Throws__Group__4__Impl ;
    public final void rule__Throws__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5360:1: ( rule__Throws__Group__4__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5361:2: rule__Throws__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__Throws__Group__4__Impl_in_rule__Throws__Group__410987);
            rule__Throws__Group__4__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Throws__Group__4"


    // $ANTLR start "rule__Throws__Group__4__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5367:1: rule__Throws__Group__4__Impl : ( ')' ) ;
    public final void rule__Throws__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5371:1: ( ( ')' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5372:1: ( ')' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5372:1: ( ')' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5373:1: ')'
            {
             before(grammarAccess.getThrowsAccess().getRightParenthesisKeyword_4()); 
            match(input,40,FOLLOW_40_in_rule__Throws__Group__4__Impl11015); 
             after(grammarAccess.getThrowsAccess().getRightParenthesisKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Throws__Group__4__Impl"


    // $ANTLR start "rule__Throws__Group_3__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5396:1: rule__Throws__Group_3__0 : rule__Throws__Group_3__0__Impl rule__Throws__Group_3__1 ;
    public final void rule__Throws__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5400:1: ( rule__Throws__Group_3__0__Impl rule__Throws__Group_3__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5401:2: rule__Throws__Group_3__0__Impl rule__Throws__Group_3__1
            {
            pushFollow(FOLLOW_rule__Throws__Group_3__0__Impl_in_rule__Throws__Group_3__011056);
            rule__Throws__Group_3__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Throws__Group_3__1_in_rule__Throws__Group_3__011059);
            rule__Throws__Group_3__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Throws__Group_3__0"


    // $ANTLR start "rule__Throws__Group_3__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5408:1: rule__Throws__Group_3__0__Impl : ( ',' ) ;
    public final void rule__Throws__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5412:1: ( ( ',' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5413:1: ( ',' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5413:1: ( ',' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5414:1: ','
            {
             before(grammarAccess.getThrowsAccess().getCommaKeyword_3_0()); 
            match(input,18,FOLLOW_18_in_rule__Throws__Group_3__0__Impl11087); 
             after(grammarAccess.getThrowsAccess().getCommaKeyword_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Throws__Group_3__0__Impl"


    // $ANTLR start "rule__Throws__Group_3__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5427:1: rule__Throws__Group_3__1 : rule__Throws__Group_3__1__Impl ;
    public final void rule__Throws__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5431:1: ( rule__Throws__Group_3__1__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5432:2: rule__Throws__Group_3__1__Impl
            {
            pushFollow(FOLLOW_rule__Throws__Group_3__1__Impl_in_rule__Throws__Group_3__111118);
            rule__Throws__Group_3__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Throws__Group_3__1"


    // $ANTLR start "rule__Throws__Group_3__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5438:1: rule__Throws__Group_3__1__Impl : ( ( rule__Throws__FieldsAssignment_3_1 ) ) ;
    public final void rule__Throws__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5442:1: ( ( ( rule__Throws__FieldsAssignment_3_1 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5443:1: ( ( rule__Throws__FieldsAssignment_3_1 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5443:1: ( ( rule__Throws__FieldsAssignment_3_1 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5444:1: ( rule__Throws__FieldsAssignment_3_1 )
            {
             before(grammarAccess.getThrowsAccess().getFieldsAssignment_3_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5445:1: ( rule__Throws__FieldsAssignment_3_1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5445:2: rule__Throws__FieldsAssignment_3_1
            {
            pushFollow(FOLLOW_rule__Throws__FieldsAssignment_3_1_in_rule__Throws__Group_3__1__Impl11145);
            rule__Throws__FieldsAssignment_3_1();

            state._fsp--;


            }

             after(grammarAccess.getThrowsAccess().getFieldsAssignment_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Throws__Group_3__1__Impl"


    // $ANTLR start "rule__ThrowsField__Group__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5459:1: rule__ThrowsField__Group__0 : rule__ThrowsField__Group__0__Impl rule__ThrowsField__Group__1 ;
    public final void rule__ThrowsField__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5463:1: ( rule__ThrowsField__Group__0__Impl rule__ThrowsField__Group__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5464:2: rule__ThrowsField__Group__0__Impl rule__ThrowsField__Group__1
            {
            pushFollow(FOLLOW_rule__ThrowsField__Group__0__Impl_in_rule__ThrowsField__Group__011179);
            rule__ThrowsField__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ThrowsField__Group__1_in_rule__ThrowsField__Group__011182);
            rule__ThrowsField__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ThrowsField__Group__0"


    // $ANTLR start "rule__ThrowsField__Group__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5471:1: rule__ThrowsField__Group__0__Impl : ( ( rule__ThrowsField__FieldIdAssignment_0 )? ) ;
    public final void rule__ThrowsField__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5475:1: ( ( ( rule__ThrowsField__FieldIdAssignment_0 )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5476:1: ( ( rule__ThrowsField__FieldIdAssignment_0 )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5476:1: ( ( rule__ThrowsField__FieldIdAssignment_0 )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5477:1: ( rule__ThrowsField__FieldIdAssignment_0 )?
            {
             before(grammarAccess.getThrowsFieldAccess().getFieldIdAssignment_0()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5478:1: ( rule__ThrowsField__FieldIdAssignment_0 )?
            int alt51=2;
            int LA51_0 = input.LA(1);

            if ( (LA51_0==RULE_LONG) ) {
                alt51=1;
            }
            switch (alt51) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5478:2: rule__ThrowsField__FieldIdAssignment_0
                    {
                    pushFollow(FOLLOW_rule__ThrowsField__FieldIdAssignment_0_in_rule__ThrowsField__Group__0__Impl11209);
                    rule__ThrowsField__FieldIdAssignment_0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getThrowsFieldAccess().getFieldIdAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ThrowsField__Group__0__Impl"


    // $ANTLR start "rule__ThrowsField__Group__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5488:1: rule__ThrowsField__Group__1 : rule__ThrowsField__Group__1__Impl rule__ThrowsField__Group__2 ;
    public final void rule__ThrowsField__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5492:1: ( rule__ThrowsField__Group__1__Impl rule__ThrowsField__Group__2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5493:2: rule__ThrowsField__Group__1__Impl rule__ThrowsField__Group__2
            {
            pushFollow(FOLLOW_rule__ThrowsField__Group__1__Impl_in_rule__ThrowsField__Group__111240);
            rule__ThrowsField__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ThrowsField__Group__2_in_rule__ThrowsField__Group__111243);
            rule__ThrowsField__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ThrowsField__Group__1"


    // $ANTLR start "rule__ThrowsField__Group__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5500:1: rule__ThrowsField__Group__1__Impl : ( ( rule__ThrowsField__TypeAssignment_1 ) ) ;
    public final void rule__ThrowsField__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5504:1: ( ( ( rule__ThrowsField__TypeAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5505:1: ( ( rule__ThrowsField__TypeAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5505:1: ( ( rule__ThrowsField__TypeAssignment_1 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5506:1: ( rule__ThrowsField__TypeAssignment_1 )
            {
             before(grammarAccess.getThrowsFieldAccess().getTypeAssignment_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5507:1: ( rule__ThrowsField__TypeAssignment_1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5507:2: rule__ThrowsField__TypeAssignment_1
            {
            pushFollow(FOLLOW_rule__ThrowsField__TypeAssignment_1_in_rule__ThrowsField__Group__1__Impl11270);
            rule__ThrowsField__TypeAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getThrowsFieldAccess().getTypeAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ThrowsField__Group__1__Impl"


    // $ANTLR start "rule__ThrowsField__Group__2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5517:1: rule__ThrowsField__Group__2 : rule__ThrowsField__Group__2__Impl rule__ThrowsField__Group__3 ;
    public final void rule__ThrowsField__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5521:1: ( rule__ThrowsField__Group__2__Impl rule__ThrowsField__Group__3 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5522:2: rule__ThrowsField__Group__2__Impl rule__ThrowsField__Group__3
            {
            pushFollow(FOLLOW_rule__ThrowsField__Group__2__Impl_in_rule__ThrowsField__Group__211300);
            rule__ThrowsField__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ThrowsField__Group__3_in_rule__ThrowsField__Group__211303);
            rule__ThrowsField__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ThrowsField__Group__2"


    // $ANTLR start "rule__ThrowsField__Group__2__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5529:1: rule__ThrowsField__Group__2__Impl : ( ( rule__ThrowsField__NameAssignment_2 ) ) ;
    public final void rule__ThrowsField__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5533:1: ( ( ( rule__ThrowsField__NameAssignment_2 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5534:1: ( ( rule__ThrowsField__NameAssignment_2 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5534:1: ( ( rule__ThrowsField__NameAssignment_2 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5535:1: ( rule__ThrowsField__NameAssignment_2 )
            {
             before(grammarAccess.getThrowsFieldAccess().getNameAssignment_2()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5536:1: ( rule__ThrowsField__NameAssignment_2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5536:2: rule__ThrowsField__NameAssignment_2
            {
            pushFollow(FOLLOW_rule__ThrowsField__NameAssignment_2_in_rule__ThrowsField__Group__2__Impl11330);
            rule__ThrowsField__NameAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getThrowsFieldAccess().getNameAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ThrowsField__Group__2__Impl"


    // $ANTLR start "rule__ThrowsField__Group__3"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5546:1: rule__ThrowsField__Group__3 : rule__ThrowsField__Group__3__Impl ;
    public final void rule__ThrowsField__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5550:1: ( rule__ThrowsField__Group__3__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5551:2: rule__ThrowsField__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__ThrowsField__Group__3__Impl_in_rule__ThrowsField__Group__311360);
            rule__ThrowsField__Group__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ThrowsField__Group__3"


    // $ANTLR start "rule__ThrowsField__Group__3__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5557:1: rule__ThrowsField__Group__3__Impl : ( ( ruleListSeparator )? ) ;
    public final void rule__ThrowsField__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5561:1: ( ( ( ruleListSeparator )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5562:1: ( ( ruleListSeparator )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5562:1: ( ( ruleListSeparator )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5563:1: ( ruleListSeparator )?
            {
             before(grammarAccess.getThrowsFieldAccess().getListSeparatorParserRuleCall_3()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5564:1: ( ruleListSeparator )?
            int alt52=2;
            int LA52_0 = input.LA(1);

            if ( (LA52_0==18) ) {
                int LA52_1 = input.LA(2);

                if ( (LA52_1==EOF||LA52_1==18||LA52_1==40) ) {
                    alt52=1;
                }
            }
            else if ( (LA52_0==19) ) {
                alt52=1;
            }
            switch (alt52) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5564:3: ruleListSeparator
                    {
                    pushFollow(FOLLOW_ruleListSeparator_in_rule__ThrowsField__Group__3__Impl11388);
                    ruleListSeparator();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getThrowsFieldAccess().getListSeparatorParserRuleCall_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ThrowsField__Group__3__Impl"


    // $ANTLR start "rule__MapType__Group__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5582:1: rule__MapType__Group__0 : rule__MapType__Group__0__Impl rule__MapType__Group__1 ;
    public final void rule__MapType__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5586:1: ( rule__MapType__Group__0__Impl rule__MapType__Group__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5587:2: rule__MapType__Group__0__Impl rule__MapType__Group__1
            {
            pushFollow(FOLLOW_rule__MapType__Group__0__Impl_in_rule__MapType__Group__011427);
            rule__MapType__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__MapType__Group__1_in_rule__MapType__Group__011430);
            rule__MapType__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__Group__0"


    // $ANTLR start "rule__MapType__Group__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5594:1: rule__MapType__Group__0__Impl : ( 'map' ) ;
    public final void rule__MapType__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5598:1: ( ( 'map' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5599:1: ( 'map' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5599:1: ( 'map' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5600:1: 'map'
            {
             before(grammarAccess.getMapTypeAccess().getMapKeyword_0()); 
            match(input,56,FOLLOW_56_in_rule__MapType__Group__0__Impl11458); 
             after(grammarAccess.getMapTypeAccess().getMapKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__Group__0__Impl"


    // $ANTLR start "rule__MapType__Group__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5613:1: rule__MapType__Group__1 : rule__MapType__Group__1__Impl rule__MapType__Group__2 ;
    public final void rule__MapType__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5617:1: ( rule__MapType__Group__1__Impl rule__MapType__Group__2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5618:2: rule__MapType__Group__1__Impl rule__MapType__Group__2
            {
            pushFollow(FOLLOW_rule__MapType__Group__1__Impl_in_rule__MapType__Group__111489);
            rule__MapType__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__MapType__Group__2_in_rule__MapType__Group__111492);
            rule__MapType__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__Group__1"


    // $ANTLR start "rule__MapType__Group__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5625:1: rule__MapType__Group__1__Impl : ( ( rule__MapType__CppTypeAssignment_1 )? ) ;
    public final void rule__MapType__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5629:1: ( ( ( rule__MapType__CppTypeAssignment_1 )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5630:1: ( ( rule__MapType__CppTypeAssignment_1 )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5630:1: ( ( rule__MapType__CppTypeAssignment_1 )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5631:1: ( rule__MapType__CppTypeAssignment_1 )?
            {
             before(grammarAccess.getMapTypeAccess().getCppTypeAssignment_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5632:1: ( rule__MapType__CppTypeAssignment_1 )?
            int alt53=2;
            int LA53_0 = input.LA(1);

            if ( (LA53_0==61) ) {
                alt53=1;
            }
            switch (alt53) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5632:2: rule__MapType__CppTypeAssignment_1
                    {
                    pushFollow(FOLLOW_rule__MapType__CppTypeAssignment_1_in_rule__MapType__Group__1__Impl11519);
                    rule__MapType__CppTypeAssignment_1();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getMapTypeAccess().getCppTypeAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__Group__1__Impl"


    // $ANTLR start "rule__MapType__Group__2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5642:1: rule__MapType__Group__2 : rule__MapType__Group__2__Impl rule__MapType__Group__3 ;
    public final void rule__MapType__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5646:1: ( rule__MapType__Group__2__Impl rule__MapType__Group__3 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5647:2: rule__MapType__Group__2__Impl rule__MapType__Group__3
            {
            pushFollow(FOLLOW_rule__MapType__Group__2__Impl_in_rule__MapType__Group__211550);
            rule__MapType__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__MapType__Group__3_in_rule__MapType__Group__211553);
            rule__MapType__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__Group__2"


    // $ANTLR start "rule__MapType__Group__2__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5654:1: rule__MapType__Group__2__Impl : ( '<' ) ;
    public final void rule__MapType__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5658:1: ( ( '<' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5659:1: ( '<' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5659:1: ( '<' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5660:1: '<'
            {
             before(grammarAccess.getMapTypeAccess().getLessThanSignKeyword_2()); 
            match(input,57,FOLLOW_57_in_rule__MapType__Group__2__Impl11581); 
             after(grammarAccess.getMapTypeAccess().getLessThanSignKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__Group__2__Impl"


    // $ANTLR start "rule__MapType__Group__3"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5673:1: rule__MapType__Group__3 : rule__MapType__Group__3__Impl rule__MapType__Group__4 ;
    public final void rule__MapType__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5677:1: ( rule__MapType__Group__3__Impl rule__MapType__Group__4 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5678:2: rule__MapType__Group__3__Impl rule__MapType__Group__4
            {
            pushFollow(FOLLOW_rule__MapType__Group__3__Impl_in_rule__MapType__Group__311612);
            rule__MapType__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__MapType__Group__4_in_rule__MapType__Group__311615);
            rule__MapType__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__Group__3"


    // $ANTLR start "rule__MapType__Group__3__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5685:1: rule__MapType__Group__3__Impl : ( ( rule__MapType__MapType1Assignment_3 ) ) ;
    public final void rule__MapType__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5689:1: ( ( ( rule__MapType__MapType1Assignment_3 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5690:1: ( ( rule__MapType__MapType1Assignment_3 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5690:1: ( ( rule__MapType__MapType1Assignment_3 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5691:1: ( rule__MapType__MapType1Assignment_3 )
            {
             before(grammarAccess.getMapTypeAccess().getMapType1Assignment_3()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5692:1: ( rule__MapType__MapType1Assignment_3 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5692:2: rule__MapType__MapType1Assignment_3
            {
            pushFollow(FOLLOW_rule__MapType__MapType1Assignment_3_in_rule__MapType__Group__3__Impl11642);
            rule__MapType__MapType1Assignment_3();

            state._fsp--;


            }

             after(grammarAccess.getMapTypeAccess().getMapType1Assignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__Group__3__Impl"


    // $ANTLR start "rule__MapType__Group__4"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5702:1: rule__MapType__Group__4 : rule__MapType__Group__4__Impl rule__MapType__Group__5 ;
    public final void rule__MapType__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5706:1: ( rule__MapType__Group__4__Impl rule__MapType__Group__5 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5707:2: rule__MapType__Group__4__Impl rule__MapType__Group__5
            {
            pushFollow(FOLLOW_rule__MapType__Group__4__Impl_in_rule__MapType__Group__411672);
            rule__MapType__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__MapType__Group__5_in_rule__MapType__Group__411675);
            rule__MapType__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__Group__4"


    // $ANTLR start "rule__MapType__Group__4__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5714:1: rule__MapType__Group__4__Impl : ( ( rule__MapType__MapType1AnnotationAssignment_4 )? ) ;
    public final void rule__MapType__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5718:1: ( ( ( rule__MapType__MapType1AnnotationAssignment_4 )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5719:1: ( ( rule__MapType__MapType1AnnotationAssignment_4 )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5719:1: ( ( rule__MapType__MapType1AnnotationAssignment_4 )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5720:1: ( rule__MapType__MapType1AnnotationAssignment_4 )?
            {
             before(grammarAccess.getMapTypeAccess().getMapType1AnnotationAssignment_4()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5721:1: ( rule__MapType__MapType1AnnotationAssignment_4 )?
            int alt54=2;
            int LA54_0 = input.LA(1);

            if ( (LA54_0==39) ) {
                alt54=1;
            }
            switch (alt54) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5721:2: rule__MapType__MapType1AnnotationAssignment_4
                    {
                    pushFollow(FOLLOW_rule__MapType__MapType1AnnotationAssignment_4_in_rule__MapType__Group__4__Impl11702);
                    rule__MapType__MapType1AnnotationAssignment_4();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getMapTypeAccess().getMapType1AnnotationAssignment_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__Group__4__Impl"


    // $ANTLR start "rule__MapType__Group__5"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5731:1: rule__MapType__Group__5 : rule__MapType__Group__5__Impl rule__MapType__Group__6 ;
    public final void rule__MapType__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5735:1: ( rule__MapType__Group__5__Impl rule__MapType__Group__6 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5736:2: rule__MapType__Group__5__Impl rule__MapType__Group__6
            {
            pushFollow(FOLLOW_rule__MapType__Group__5__Impl_in_rule__MapType__Group__511733);
            rule__MapType__Group__5__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__MapType__Group__6_in_rule__MapType__Group__511736);
            rule__MapType__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__Group__5"


    // $ANTLR start "rule__MapType__Group__5__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5743:1: rule__MapType__Group__5__Impl : ( ',' ) ;
    public final void rule__MapType__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5747:1: ( ( ',' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5748:1: ( ',' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5748:1: ( ',' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5749:1: ','
            {
             before(grammarAccess.getMapTypeAccess().getCommaKeyword_5()); 
            match(input,18,FOLLOW_18_in_rule__MapType__Group__5__Impl11764); 
             after(grammarAccess.getMapTypeAccess().getCommaKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__Group__5__Impl"


    // $ANTLR start "rule__MapType__Group__6"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5762:1: rule__MapType__Group__6 : rule__MapType__Group__6__Impl rule__MapType__Group__7 ;
    public final void rule__MapType__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5766:1: ( rule__MapType__Group__6__Impl rule__MapType__Group__7 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5767:2: rule__MapType__Group__6__Impl rule__MapType__Group__7
            {
            pushFollow(FOLLOW_rule__MapType__Group__6__Impl_in_rule__MapType__Group__611795);
            rule__MapType__Group__6__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__MapType__Group__7_in_rule__MapType__Group__611798);
            rule__MapType__Group__7();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__Group__6"


    // $ANTLR start "rule__MapType__Group__6__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5774:1: rule__MapType__Group__6__Impl : ( ( rule__MapType__MapType2Assignment_6 ) ) ;
    public final void rule__MapType__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5778:1: ( ( ( rule__MapType__MapType2Assignment_6 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5779:1: ( ( rule__MapType__MapType2Assignment_6 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5779:1: ( ( rule__MapType__MapType2Assignment_6 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5780:1: ( rule__MapType__MapType2Assignment_6 )
            {
             before(grammarAccess.getMapTypeAccess().getMapType2Assignment_6()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5781:1: ( rule__MapType__MapType2Assignment_6 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5781:2: rule__MapType__MapType2Assignment_6
            {
            pushFollow(FOLLOW_rule__MapType__MapType2Assignment_6_in_rule__MapType__Group__6__Impl11825);
            rule__MapType__MapType2Assignment_6();

            state._fsp--;


            }

             after(grammarAccess.getMapTypeAccess().getMapType2Assignment_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__Group__6__Impl"


    // $ANTLR start "rule__MapType__Group__7"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5791:1: rule__MapType__Group__7 : rule__MapType__Group__7__Impl rule__MapType__Group__8 ;
    public final void rule__MapType__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5795:1: ( rule__MapType__Group__7__Impl rule__MapType__Group__8 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5796:2: rule__MapType__Group__7__Impl rule__MapType__Group__8
            {
            pushFollow(FOLLOW_rule__MapType__Group__7__Impl_in_rule__MapType__Group__711855);
            rule__MapType__Group__7__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__MapType__Group__8_in_rule__MapType__Group__711858);
            rule__MapType__Group__8();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__Group__7"


    // $ANTLR start "rule__MapType__Group__7__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5803:1: rule__MapType__Group__7__Impl : ( ( rule__MapType__MapType2AnnotationAssignment_7 )? ) ;
    public final void rule__MapType__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5807:1: ( ( ( rule__MapType__MapType2AnnotationAssignment_7 )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5808:1: ( ( rule__MapType__MapType2AnnotationAssignment_7 )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5808:1: ( ( rule__MapType__MapType2AnnotationAssignment_7 )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5809:1: ( rule__MapType__MapType2AnnotationAssignment_7 )?
            {
             before(grammarAccess.getMapTypeAccess().getMapType2AnnotationAssignment_7()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5810:1: ( rule__MapType__MapType2AnnotationAssignment_7 )?
            int alt55=2;
            int LA55_0 = input.LA(1);

            if ( (LA55_0==39) ) {
                alt55=1;
            }
            switch (alt55) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5810:2: rule__MapType__MapType2AnnotationAssignment_7
                    {
                    pushFollow(FOLLOW_rule__MapType__MapType2AnnotationAssignment_7_in_rule__MapType__Group__7__Impl11885);
                    rule__MapType__MapType2AnnotationAssignment_7();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getMapTypeAccess().getMapType2AnnotationAssignment_7()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__Group__7__Impl"


    // $ANTLR start "rule__MapType__Group__8"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5820:1: rule__MapType__Group__8 : rule__MapType__Group__8__Impl ;
    public final void rule__MapType__Group__8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5824:1: ( rule__MapType__Group__8__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5825:2: rule__MapType__Group__8__Impl
            {
            pushFollow(FOLLOW_rule__MapType__Group__8__Impl_in_rule__MapType__Group__811916);
            rule__MapType__Group__8__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__Group__8"


    // $ANTLR start "rule__MapType__Group__8__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5831:1: rule__MapType__Group__8__Impl : ( '>' ) ;
    public final void rule__MapType__Group__8__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5835:1: ( ( '>' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5836:1: ( '>' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5836:1: ( '>' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5837:1: '>'
            {
             before(grammarAccess.getMapTypeAccess().getGreaterThanSignKeyword_8()); 
            match(input,58,FOLLOW_58_in_rule__MapType__Group__8__Impl11944); 
             after(grammarAccess.getMapTypeAccess().getGreaterThanSignKeyword_8()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__Group__8__Impl"


    // $ANTLR start "rule__SetType__Group__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5868:1: rule__SetType__Group__0 : rule__SetType__Group__0__Impl rule__SetType__Group__1 ;
    public final void rule__SetType__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5872:1: ( rule__SetType__Group__0__Impl rule__SetType__Group__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5873:2: rule__SetType__Group__0__Impl rule__SetType__Group__1
            {
            pushFollow(FOLLOW_rule__SetType__Group__0__Impl_in_rule__SetType__Group__011993);
            rule__SetType__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__SetType__Group__1_in_rule__SetType__Group__011996);
            rule__SetType__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SetType__Group__0"


    // $ANTLR start "rule__SetType__Group__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5880:1: rule__SetType__Group__0__Impl : ( 'set' ) ;
    public final void rule__SetType__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5884:1: ( ( 'set' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5885:1: ( 'set' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5885:1: ( 'set' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5886:1: 'set'
            {
             before(grammarAccess.getSetTypeAccess().getSetKeyword_0()); 
            match(input,59,FOLLOW_59_in_rule__SetType__Group__0__Impl12024); 
             after(grammarAccess.getSetTypeAccess().getSetKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SetType__Group__0__Impl"


    // $ANTLR start "rule__SetType__Group__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5899:1: rule__SetType__Group__1 : rule__SetType__Group__1__Impl rule__SetType__Group__2 ;
    public final void rule__SetType__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5903:1: ( rule__SetType__Group__1__Impl rule__SetType__Group__2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5904:2: rule__SetType__Group__1__Impl rule__SetType__Group__2
            {
            pushFollow(FOLLOW_rule__SetType__Group__1__Impl_in_rule__SetType__Group__112055);
            rule__SetType__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__SetType__Group__2_in_rule__SetType__Group__112058);
            rule__SetType__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SetType__Group__1"


    // $ANTLR start "rule__SetType__Group__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5911:1: rule__SetType__Group__1__Impl : ( ( rule__SetType__CppTypeAssignment_1 )? ) ;
    public final void rule__SetType__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5915:1: ( ( ( rule__SetType__CppTypeAssignment_1 )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5916:1: ( ( rule__SetType__CppTypeAssignment_1 )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5916:1: ( ( rule__SetType__CppTypeAssignment_1 )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5917:1: ( rule__SetType__CppTypeAssignment_1 )?
            {
             before(grammarAccess.getSetTypeAccess().getCppTypeAssignment_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5918:1: ( rule__SetType__CppTypeAssignment_1 )?
            int alt56=2;
            int LA56_0 = input.LA(1);

            if ( (LA56_0==61) ) {
                alt56=1;
            }
            switch (alt56) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5918:2: rule__SetType__CppTypeAssignment_1
                    {
                    pushFollow(FOLLOW_rule__SetType__CppTypeAssignment_1_in_rule__SetType__Group__1__Impl12085);
                    rule__SetType__CppTypeAssignment_1();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getSetTypeAccess().getCppTypeAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SetType__Group__1__Impl"


    // $ANTLR start "rule__SetType__Group__2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5928:1: rule__SetType__Group__2 : rule__SetType__Group__2__Impl rule__SetType__Group__3 ;
    public final void rule__SetType__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5932:1: ( rule__SetType__Group__2__Impl rule__SetType__Group__3 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5933:2: rule__SetType__Group__2__Impl rule__SetType__Group__3
            {
            pushFollow(FOLLOW_rule__SetType__Group__2__Impl_in_rule__SetType__Group__212116);
            rule__SetType__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__SetType__Group__3_in_rule__SetType__Group__212119);
            rule__SetType__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SetType__Group__2"


    // $ANTLR start "rule__SetType__Group__2__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5940:1: rule__SetType__Group__2__Impl : ( '<' ) ;
    public final void rule__SetType__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5944:1: ( ( '<' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5945:1: ( '<' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5945:1: ( '<' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5946:1: '<'
            {
             before(grammarAccess.getSetTypeAccess().getLessThanSignKeyword_2()); 
            match(input,57,FOLLOW_57_in_rule__SetType__Group__2__Impl12147); 
             after(grammarAccess.getSetTypeAccess().getLessThanSignKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SetType__Group__2__Impl"


    // $ANTLR start "rule__SetType__Group__3"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5959:1: rule__SetType__Group__3 : rule__SetType__Group__3__Impl rule__SetType__Group__4 ;
    public final void rule__SetType__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5963:1: ( rule__SetType__Group__3__Impl rule__SetType__Group__4 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5964:2: rule__SetType__Group__3__Impl rule__SetType__Group__4
            {
            pushFollow(FOLLOW_rule__SetType__Group__3__Impl_in_rule__SetType__Group__312178);
            rule__SetType__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__SetType__Group__4_in_rule__SetType__Group__312181);
            rule__SetType__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SetType__Group__3"


    // $ANTLR start "rule__SetType__Group__3__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5971:1: rule__SetType__Group__3__Impl : ( ( rule__SetType__SetTypeAssignment_3 ) ) ;
    public final void rule__SetType__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5975:1: ( ( ( rule__SetType__SetTypeAssignment_3 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5976:1: ( ( rule__SetType__SetTypeAssignment_3 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5976:1: ( ( rule__SetType__SetTypeAssignment_3 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5977:1: ( rule__SetType__SetTypeAssignment_3 )
            {
             before(grammarAccess.getSetTypeAccess().getSetTypeAssignment_3()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5978:1: ( rule__SetType__SetTypeAssignment_3 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5978:2: rule__SetType__SetTypeAssignment_3
            {
            pushFollow(FOLLOW_rule__SetType__SetTypeAssignment_3_in_rule__SetType__Group__3__Impl12208);
            rule__SetType__SetTypeAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getSetTypeAccess().getSetTypeAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SetType__Group__3__Impl"


    // $ANTLR start "rule__SetType__Group__4"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5988:1: rule__SetType__Group__4 : rule__SetType__Group__4__Impl rule__SetType__Group__5 ;
    public final void rule__SetType__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5992:1: ( rule__SetType__Group__4__Impl rule__SetType__Group__5 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:5993:2: rule__SetType__Group__4__Impl rule__SetType__Group__5
            {
            pushFollow(FOLLOW_rule__SetType__Group__4__Impl_in_rule__SetType__Group__412238);
            rule__SetType__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__SetType__Group__5_in_rule__SetType__Group__412241);
            rule__SetType__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SetType__Group__4"


    // $ANTLR start "rule__SetType__Group__4__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6000:1: rule__SetType__Group__4__Impl : ( ( rule__SetType__SetTypeAnnotationAssignment_4 )? ) ;
    public final void rule__SetType__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6004:1: ( ( ( rule__SetType__SetTypeAnnotationAssignment_4 )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6005:1: ( ( rule__SetType__SetTypeAnnotationAssignment_4 )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6005:1: ( ( rule__SetType__SetTypeAnnotationAssignment_4 )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6006:1: ( rule__SetType__SetTypeAnnotationAssignment_4 )?
            {
             before(grammarAccess.getSetTypeAccess().getSetTypeAnnotationAssignment_4()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6007:1: ( rule__SetType__SetTypeAnnotationAssignment_4 )?
            int alt57=2;
            int LA57_0 = input.LA(1);

            if ( (LA57_0==39) ) {
                alt57=1;
            }
            switch (alt57) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6007:2: rule__SetType__SetTypeAnnotationAssignment_4
                    {
                    pushFollow(FOLLOW_rule__SetType__SetTypeAnnotationAssignment_4_in_rule__SetType__Group__4__Impl12268);
                    rule__SetType__SetTypeAnnotationAssignment_4();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getSetTypeAccess().getSetTypeAnnotationAssignment_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SetType__Group__4__Impl"


    // $ANTLR start "rule__SetType__Group__5"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6017:1: rule__SetType__Group__5 : rule__SetType__Group__5__Impl ;
    public final void rule__SetType__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6021:1: ( rule__SetType__Group__5__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6022:2: rule__SetType__Group__5__Impl
            {
            pushFollow(FOLLOW_rule__SetType__Group__5__Impl_in_rule__SetType__Group__512299);
            rule__SetType__Group__5__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SetType__Group__5"


    // $ANTLR start "rule__SetType__Group__5__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6028:1: rule__SetType__Group__5__Impl : ( '>' ) ;
    public final void rule__SetType__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6032:1: ( ( '>' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6033:1: ( '>' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6033:1: ( '>' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6034:1: '>'
            {
             before(grammarAccess.getSetTypeAccess().getGreaterThanSignKeyword_5()); 
            match(input,58,FOLLOW_58_in_rule__SetType__Group__5__Impl12327); 
             after(grammarAccess.getSetTypeAccess().getGreaterThanSignKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SetType__Group__5__Impl"


    // $ANTLR start "rule__ListType__Group__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6059:1: rule__ListType__Group__0 : rule__ListType__Group__0__Impl rule__ListType__Group__1 ;
    public final void rule__ListType__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6063:1: ( rule__ListType__Group__0__Impl rule__ListType__Group__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6064:2: rule__ListType__Group__0__Impl rule__ListType__Group__1
            {
            pushFollow(FOLLOW_rule__ListType__Group__0__Impl_in_rule__ListType__Group__012370);
            rule__ListType__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ListType__Group__1_in_rule__ListType__Group__012373);
            rule__ListType__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ListType__Group__0"


    // $ANTLR start "rule__ListType__Group__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6071:1: rule__ListType__Group__0__Impl : ( 'list' ) ;
    public final void rule__ListType__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6075:1: ( ( 'list' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6076:1: ( 'list' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6076:1: ( 'list' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6077:1: 'list'
            {
             before(grammarAccess.getListTypeAccess().getListKeyword_0()); 
            match(input,60,FOLLOW_60_in_rule__ListType__Group__0__Impl12401); 
             after(grammarAccess.getListTypeAccess().getListKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ListType__Group__0__Impl"


    // $ANTLR start "rule__ListType__Group__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6090:1: rule__ListType__Group__1 : rule__ListType__Group__1__Impl rule__ListType__Group__2 ;
    public final void rule__ListType__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6094:1: ( rule__ListType__Group__1__Impl rule__ListType__Group__2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6095:2: rule__ListType__Group__1__Impl rule__ListType__Group__2
            {
            pushFollow(FOLLOW_rule__ListType__Group__1__Impl_in_rule__ListType__Group__112432);
            rule__ListType__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ListType__Group__2_in_rule__ListType__Group__112435);
            rule__ListType__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ListType__Group__1"


    // $ANTLR start "rule__ListType__Group__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6102:1: rule__ListType__Group__1__Impl : ( '<' ) ;
    public final void rule__ListType__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6106:1: ( ( '<' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6107:1: ( '<' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6107:1: ( '<' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6108:1: '<'
            {
             before(grammarAccess.getListTypeAccess().getLessThanSignKeyword_1()); 
            match(input,57,FOLLOW_57_in_rule__ListType__Group__1__Impl12463); 
             after(grammarAccess.getListTypeAccess().getLessThanSignKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ListType__Group__1__Impl"


    // $ANTLR start "rule__ListType__Group__2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6121:1: rule__ListType__Group__2 : rule__ListType__Group__2__Impl rule__ListType__Group__3 ;
    public final void rule__ListType__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6125:1: ( rule__ListType__Group__2__Impl rule__ListType__Group__3 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6126:2: rule__ListType__Group__2__Impl rule__ListType__Group__3
            {
            pushFollow(FOLLOW_rule__ListType__Group__2__Impl_in_rule__ListType__Group__212494);
            rule__ListType__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ListType__Group__3_in_rule__ListType__Group__212497);
            rule__ListType__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ListType__Group__2"


    // $ANTLR start "rule__ListType__Group__2__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6133:1: rule__ListType__Group__2__Impl : ( ( rule__ListType__ListTypeAssignment_2 ) ) ;
    public final void rule__ListType__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6137:1: ( ( ( rule__ListType__ListTypeAssignment_2 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6138:1: ( ( rule__ListType__ListTypeAssignment_2 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6138:1: ( ( rule__ListType__ListTypeAssignment_2 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6139:1: ( rule__ListType__ListTypeAssignment_2 )
            {
             before(grammarAccess.getListTypeAccess().getListTypeAssignment_2()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6140:1: ( rule__ListType__ListTypeAssignment_2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6140:2: rule__ListType__ListTypeAssignment_2
            {
            pushFollow(FOLLOW_rule__ListType__ListTypeAssignment_2_in_rule__ListType__Group__2__Impl12524);
            rule__ListType__ListTypeAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getListTypeAccess().getListTypeAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ListType__Group__2__Impl"


    // $ANTLR start "rule__ListType__Group__3"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6150:1: rule__ListType__Group__3 : rule__ListType__Group__3__Impl rule__ListType__Group__4 ;
    public final void rule__ListType__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6154:1: ( rule__ListType__Group__3__Impl rule__ListType__Group__4 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6155:2: rule__ListType__Group__3__Impl rule__ListType__Group__4
            {
            pushFollow(FOLLOW_rule__ListType__Group__3__Impl_in_rule__ListType__Group__312554);
            rule__ListType__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ListType__Group__4_in_rule__ListType__Group__312557);
            rule__ListType__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ListType__Group__3"


    // $ANTLR start "rule__ListType__Group__3__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6162:1: rule__ListType__Group__3__Impl : ( ( rule__ListType__ListTypeAnnotationAssignment_3 )? ) ;
    public final void rule__ListType__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6166:1: ( ( ( rule__ListType__ListTypeAnnotationAssignment_3 )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6167:1: ( ( rule__ListType__ListTypeAnnotationAssignment_3 )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6167:1: ( ( rule__ListType__ListTypeAnnotationAssignment_3 )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6168:1: ( rule__ListType__ListTypeAnnotationAssignment_3 )?
            {
             before(grammarAccess.getListTypeAccess().getListTypeAnnotationAssignment_3()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6169:1: ( rule__ListType__ListTypeAnnotationAssignment_3 )?
            int alt58=2;
            int LA58_0 = input.LA(1);

            if ( (LA58_0==39) ) {
                alt58=1;
            }
            switch (alt58) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6169:2: rule__ListType__ListTypeAnnotationAssignment_3
                    {
                    pushFollow(FOLLOW_rule__ListType__ListTypeAnnotationAssignment_3_in_rule__ListType__Group__3__Impl12584);
                    rule__ListType__ListTypeAnnotationAssignment_3();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getListTypeAccess().getListTypeAnnotationAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ListType__Group__3__Impl"


    // $ANTLR start "rule__ListType__Group__4"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6179:1: rule__ListType__Group__4 : rule__ListType__Group__4__Impl rule__ListType__Group__5 ;
    public final void rule__ListType__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6183:1: ( rule__ListType__Group__4__Impl rule__ListType__Group__5 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6184:2: rule__ListType__Group__4__Impl rule__ListType__Group__5
            {
            pushFollow(FOLLOW_rule__ListType__Group__4__Impl_in_rule__ListType__Group__412615);
            rule__ListType__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ListType__Group__5_in_rule__ListType__Group__412618);
            rule__ListType__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ListType__Group__4"


    // $ANTLR start "rule__ListType__Group__4__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6191:1: rule__ListType__Group__4__Impl : ( '>' ) ;
    public final void rule__ListType__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6195:1: ( ( '>' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6196:1: ( '>' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6196:1: ( '>' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6197:1: '>'
            {
             before(grammarAccess.getListTypeAccess().getGreaterThanSignKeyword_4()); 
            match(input,58,FOLLOW_58_in_rule__ListType__Group__4__Impl12646); 
             after(grammarAccess.getListTypeAccess().getGreaterThanSignKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ListType__Group__4__Impl"


    // $ANTLR start "rule__ListType__Group__5"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6210:1: rule__ListType__Group__5 : rule__ListType__Group__5__Impl ;
    public final void rule__ListType__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6214:1: ( rule__ListType__Group__5__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6215:2: rule__ListType__Group__5__Impl
            {
            pushFollow(FOLLOW_rule__ListType__Group__5__Impl_in_rule__ListType__Group__512677);
            rule__ListType__Group__5__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ListType__Group__5"


    // $ANTLR start "rule__ListType__Group__5__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6221:1: rule__ListType__Group__5__Impl : ( ( rule__ListType__CppTypeAssignment_5 )? ) ;
    public final void rule__ListType__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6225:1: ( ( ( rule__ListType__CppTypeAssignment_5 )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6226:1: ( ( rule__ListType__CppTypeAssignment_5 )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6226:1: ( ( rule__ListType__CppTypeAssignment_5 )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6227:1: ( rule__ListType__CppTypeAssignment_5 )?
            {
             before(grammarAccess.getListTypeAccess().getCppTypeAssignment_5()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6228:1: ( rule__ListType__CppTypeAssignment_5 )?
            int alt59=2;
            int LA59_0 = input.LA(1);

            if ( (LA59_0==61) ) {
                alt59=1;
            }
            switch (alt59) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6228:2: rule__ListType__CppTypeAssignment_5
                    {
                    pushFollow(FOLLOW_rule__ListType__CppTypeAssignment_5_in_rule__ListType__Group__5__Impl12704);
                    rule__ListType__CppTypeAssignment_5();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getListTypeAccess().getCppTypeAssignment_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ListType__Group__5__Impl"


    // $ANTLR start "rule__CppType__Group__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6250:1: rule__CppType__Group__0 : rule__CppType__Group__0__Impl rule__CppType__Group__1 ;
    public final void rule__CppType__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6254:1: ( rule__CppType__Group__0__Impl rule__CppType__Group__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6255:2: rule__CppType__Group__0__Impl rule__CppType__Group__1
            {
            pushFollow(FOLLOW_rule__CppType__Group__0__Impl_in_rule__CppType__Group__012747);
            rule__CppType__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__CppType__Group__1_in_rule__CppType__Group__012750);
            rule__CppType__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CppType__Group__0"


    // $ANTLR start "rule__CppType__Group__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6262:1: rule__CppType__Group__0__Impl : ( 'cpp_type' ) ;
    public final void rule__CppType__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6266:1: ( ( 'cpp_type' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6267:1: ( 'cpp_type' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6267:1: ( 'cpp_type' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6268:1: 'cpp_type'
            {
             before(grammarAccess.getCppTypeAccess().getCpp_typeKeyword_0()); 
            match(input,61,FOLLOW_61_in_rule__CppType__Group__0__Impl12778); 
             after(grammarAccess.getCppTypeAccess().getCpp_typeKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CppType__Group__0__Impl"


    // $ANTLR start "rule__CppType__Group__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6281:1: rule__CppType__Group__1 : rule__CppType__Group__1__Impl ;
    public final void rule__CppType__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6285:1: ( rule__CppType__Group__1__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6286:2: rule__CppType__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__CppType__Group__1__Impl_in_rule__CppType__Group__112809);
            rule__CppType__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CppType__Group__1"


    // $ANTLR start "rule__CppType__Group__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6292:1: rule__CppType__Group__1__Impl : ( RULE_STRING ) ;
    public final void rule__CppType__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6296:1: ( ( RULE_STRING ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6297:1: ( RULE_STRING )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6297:1: ( RULE_STRING )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6298:1: RULE_STRING
            {
             before(grammarAccess.getCppTypeAccess().getSTRINGTerminalRuleCall_1()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__CppType__Group__1__Impl12836); 
             after(grammarAccess.getCppTypeAccess().getSTRINGTerminalRuleCall_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CppType__Group__1__Impl"


    // $ANTLR start "rule__ConstList__Group_0__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6313:1: rule__ConstList__Group_0__0 : rule__ConstList__Group_0__0__Impl rule__ConstList__Group_0__1 ;
    public final void rule__ConstList__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6317:1: ( rule__ConstList__Group_0__0__Impl rule__ConstList__Group_0__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6318:2: rule__ConstList__Group_0__0__Impl rule__ConstList__Group_0__1
            {
            pushFollow(FOLLOW_rule__ConstList__Group_0__0__Impl_in_rule__ConstList__Group_0__012869);
            rule__ConstList__Group_0__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ConstList__Group_0__1_in_rule__ConstList__Group_0__012872);
            rule__ConstList__Group_0__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstList__Group_0__0"


    // $ANTLR start "rule__ConstList__Group_0__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6325:1: rule__ConstList__Group_0__0__Impl : ( ( rule__ConstList__ValueAssignment_0_0 ) ) ;
    public final void rule__ConstList__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6329:1: ( ( ( rule__ConstList__ValueAssignment_0_0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6330:1: ( ( rule__ConstList__ValueAssignment_0_0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6330:1: ( ( rule__ConstList__ValueAssignment_0_0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6331:1: ( rule__ConstList__ValueAssignment_0_0 )
            {
             before(grammarAccess.getConstListAccess().getValueAssignment_0_0()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6332:1: ( rule__ConstList__ValueAssignment_0_0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6332:2: rule__ConstList__ValueAssignment_0_0
            {
            pushFollow(FOLLOW_rule__ConstList__ValueAssignment_0_0_in_rule__ConstList__Group_0__0__Impl12899);
            rule__ConstList__ValueAssignment_0_0();

            state._fsp--;


            }

             after(grammarAccess.getConstListAccess().getValueAssignment_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstList__Group_0__0__Impl"


    // $ANTLR start "rule__ConstList__Group_0__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6342:1: rule__ConstList__Group_0__1 : rule__ConstList__Group_0__1__Impl ;
    public final void rule__ConstList__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6346:1: ( rule__ConstList__Group_0__1__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6347:2: rule__ConstList__Group_0__1__Impl
            {
            pushFollow(FOLLOW_rule__ConstList__Group_0__1__Impl_in_rule__ConstList__Group_0__112929);
            rule__ConstList__Group_0__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstList__Group_0__1"


    // $ANTLR start "rule__ConstList__Group_0__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6353:1: rule__ConstList__Group_0__1__Impl : ( ']' ) ;
    public final void rule__ConstList__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6357:1: ( ( ']' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6358:1: ( ']' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6358:1: ( ']' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6359:1: ']'
            {
             before(grammarAccess.getConstListAccess().getRightSquareBracketKeyword_0_1()); 
            match(input,62,FOLLOW_62_in_rule__ConstList__Group_0__1__Impl12957); 
             after(grammarAccess.getConstListAccess().getRightSquareBracketKeyword_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstList__Group_0__1__Impl"


    // $ANTLR start "rule__ConstList__Group_1__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6376:1: rule__ConstList__Group_1__0 : rule__ConstList__Group_1__0__Impl rule__ConstList__Group_1__1 ;
    public final void rule__ConstList__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6380:1: ( rule__ConstList__Group_1__0__Impl rule__ConstList__Group_1__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6381:2: rule__ConstList__Group_1__0__Impl rule__ConstList__Group_1__1
            {
            pushFollow(FOLLOW_rule__ConstList__Group_1__0__Impl_in_rule__ConstList__Group_1__012992);
            rule__ConstList__Group_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ConstList__Group_1__1_in_rule__ConstList__Group_1__012995);
            rule__ConstList__Group_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstList__Group_1__0"


    // $ANTLR start "rule__ConstList__Group_1__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6388:1: rule__ConstList__Group_1__0__Impl : ( '[' ) ;
    public final void rule__ConstList__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6392:1: ( ( '[' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6393:1: ( '[' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6393:1: ( '[' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6394:1: '['
            {
             before(grammarAccess.getConstListAccess().getLeftSquareBracketKeyword_1_0()); 
            match(input,63,FOLLOW_63_in_rule__ConstList__Group_1__0__Impl13023); 
             after(grammarAccess.getConstListAccess().getLeftSquareBracketKeyword_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstList__Group_1__0__Impl"


    // $ANTLR start "rule__ConstList__Group_1__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6407:1: rule__ConstList__Group_1__1 : rule__ConstList__Group_1__1__Impl rule__ConstList__Group_1__2 ;
    public final void rule__ConstList__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6411:1: ( rule__ConstList__Group_1__1__Impl rule__ConstList__Group_1__2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6412:2: rule__ConstList__Group_1__1__Impl rule__ConstList__Group_1__2
            {
            pushFollow(FOLLOW_rule__ConstList__Group_1__1__Impl_in_rule__ConstList__Group_1__113054);
            rule__ConstList__Group_1__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ConstList__Group_1__2_in_rule__ConstList__Group_1__113057);
            rule__ConstList__Group_1__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstList__Group_1__1"


    // $ANTLR start "rule__ConstList__Group_1__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6419:1: rule__ConstList__Group_1__1__Impl : ( ( ( rule__ConstList__Group_1_1__0 ) ) ( ( rule__ConstList__Group_1_1__0 )* ) ) ;
    public final void rule__ConstList__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6423:1: ( ( ( ( rule__ConstList__Group_1_1__0 ) ) ( ( rule__ConstList__Group_1_1__0 )* ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6424:1: ( ( ( rule__ConstList__Group_1_1__0 ) ) ( ( rule__ConstList__Group_1_1__0 )* ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6424:1: ( ( ( rule__ConstList__Group_1_1__0 ) ) ( ( rule__ConstList__Group_1_1__0 )* ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6425:1: ( ( rule__ConstList__Group_1_1__0 ) ) ( ( rule__ConstList__Group_1_1__0 )* )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6425:1: ( ( rule__ConstList__Group_1_1__0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6426:1: ( rule__ConstList__Group_1_1__0 )
            {
             before(grammarAccess.getConstListAccess().getGroup_1_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6427:1: ( rule__ConstList__Group_1_1__0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6427:2: rule__ConstList__Group_1_1__0
            {
            pushFollow(FOLLOW_rule__ConstList__Group_1_1__0_in_rule__ConstList__Group_1__1__Impl13086);
            rule__ConstList__Group_1_1__0();

            state._fsp--;


            }

             after(grammarAccess.getConstListAccess().getGroup_1_1()); 

            }

            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6430:1: ( ( rule__ConstList__Group_1_1__0 )* )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6431:1: ( rule__ConstList__Group_1_1__0 )*
            {
             before(grammarAccess.getConstListAccess().getGroup_1_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6432:1: ( rule__ConstList__Group_1_1__0 )*
            loop60:
            do {
                int alt60=2;
                int LA60_0 = input.LA(1);

                if ( ((LA60_0>=RULE_LONG && LA60_0<=RULE_DOUBLE)||(LA60_0>=29 && LA60_0<=30)||LA60_0==42||LA60_0==63) ) {
                    alt60=1;
                }


                switch (alt60) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6432:2: rule__ConstList__Group_1_1__0
            	    {
            	    pushFollow(FOLLOW_rule__ConstList__Group_1_1__0_in_rule__ConstList__Group_1__1__Impl13098);
            	    rule__ConstList__Group_1_1__0();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop60;
                }
            } while (true);

             after(grammarAccess.getConstListAccess().getGroup_1_1()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstList__Group_1__1__Impl"


    // $ANTLR start "rule__ConstList__Group_1__2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6443:1: rule__ConstList__Group_1__2 : rule__ConstList__Group_1__2__Impl ;
    public final void rule__ConstList__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6447:1: ( rule__ConstList__Group_1__2__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6448:2: rule__ConstList__Group_1__2__Impl
            {
            pushFollow(FOLLOW_rule__ConstList__Group_1__2__Impl_in_rule__ConstList__Group_1__213131);
            rule__ConstList__Group_1__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstList__Group_1__2"


    // $ANTLR start "rule__ConstList__Group_1__2__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6454:1: rule__ConstList__Group_1__2__Impl : ( ']' ) ;
    public final void rule__ConstList__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6458:1: ( ( ']' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6459:1: ( ']' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6459:1: ( ']' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6460:1: ']'
            {
             before(grammarAccess.getConstListAccess().getRightSquareBracketKeyword_1_2()); 
            match(input,62,FOLLOW_62_in_rule__ConstList__Group_1__2__Impl13159); 
             after(grammarAccess.getConstListAccess().getRightSquareBracketKeyword_1_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstList__Group_1__2__Impl"


    // $ANTLR start "rule__ConstList__Group_1_1__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6479:1: rule__ConstList__Group_1_1__0 : rule__ConstList__Group_1_1__0__Impl rule__ConstList__Group_1_1__1 ;
    public final void rule__ConstList__Group_1_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6483:1: ( rule__ConstList__Group_1_1__0__Impl rule__ConstList__Group_1_1__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6484:2: rule__ConstList__Group_1_1__0__Impl rule__ConstList__Group_1_1__1
            {
            pushFollow(FOLLOW_rule__ConstList__Group_1_1__0__Impl_in_rule__ConstList__Group_1_1__013196);
            rule__ConstList__Group_1_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ConstList__Group_1_1__1_in_rule__ConstList__Group_1_1__013199);
            rule__ConstList__Group_1_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstList__Group_1_1__0"


    // $ANTLR start "rule__ConstList__Group_1_1__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6491:1: rule__ConstList__Group_1_1__0__Impl : ( ( rule__ConstList__ListAssignment_1_1_0 ) ) ;
    public final void rule__ConstList__Group_1_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6495:1: ( ( ( rule__ConstList__ListAssignment_1_1_0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6496:1: ( ( rule__ConstList__ListAssignment_1_1_0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6496:1: ( ( rule__ConstList__ListAssignment_1_1_0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6497:1: ( rule__ConstList__ListAssignment_1_1_0 )
            {
             before(grammarAccess.getConstListAccess().getListAssignment_1_1_0()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6498:1: ( rule__ConstList__ListAssignment_1_1_0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6498:2: rule__ConstList__ListAssignment_1_1_0
            {
            pushFollow(FOLLOW_rule__ConstList__ListAssignment_1_1_0_in_rule__ConstList__Group_1_1__0__Impl13226);
            rule__ConstList__ListAssignment_1_1_0();

            state._fsp--;


            }

             after(grammarAccess.getConstListAccess().getListAssignment_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstList__Group_1_1__0__Impl"


    // $ANTLR start "rule__ConstList__Group_1_1__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6508:1: rule__ConstList__Group_1_1__1 : rule__ConstList__Group_1_1__1__Impl ;
    public final void rule__ConstList__Group_1_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6512:1: ( rule__ConstList__Group_1_1__1__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6513:2: rule__ConstList__Group_1_1__1__Impl
            {
            pushFollow(FOLLOW_rule__ConstList__Group_1_1__1__Impl_in_rule__ConstList__Group_1_1__113256);
            rule__ConstList__Group_1_1__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstList__Group_1_1__1"


    // $ANTLR start "rule__ConstList__Group_1_1__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6519:1: rule__ConstList__Group_1_1__1__Impl : ( ( ruleListSeparator )? ) ;
    public final void rule__ConstList__Group_1_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6523:1: ( ( ( ruleListSeparator )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6524:1: ( ( ruleListSeparator )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6524:1: ( ( ruleListSeparator )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6525:1: ( ruleListSeparator )?
            {
             before(grammarAccess.getConstListAccess().getListSeparatorParserRuleCall_1_1_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6526:1: ( ruleListSeparator )?
            int alt61=2;
            int LA61_0 = input.LA(1);

            if ( ((LA61_0>=18 && LA61_0<=19)) ) {
                alt61=1;
            }
            switch (alt61) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6526:3: ruleListSeparator
                    {
                    pushFollow(FOLLOW_ruleListSeparator_in_rule__ConstList__Group_1_1__1__Impl13284);
                    ruleListSeparator();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getConstListAccess().getListSeparatorParserRuleCall_1_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstList__Group_1_1__1__Impl"


    // $ANTLR start "rule__ConstMap__Group_0__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6540:1: rule__ConstMap__Group_0__0 : rule__ConstMap__Group_0__0__Impl rule__ConstMap__Group_0__1 ;
    public final void rule__ConstMap__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6544:1: ( rule__ConstMap__Group_0__0__Impl rule__ConstMap__Group_0__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6545:2: rule__ConstMap__Group_0__0__Impl rule__ConstMap__Group_0__1
            {
            pushFollow(FOLLOW_rule__ConstMap__Group_0__0__Impl_in_rule__ConstMap__Group_0__013319);
            rule__ConstMap__Group_0__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ConstMap__Group_0__1_in_rule__ConstMap__Group_0__013322);
            rule__ConstMap__Group_0__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstMap__Group_0__0"


    // $ANTLR start "rule__ConstMap__Group_0__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6552:1: rule__ConstMap__Group_0__0__Impl : ( ( rule__ConstMap__ValueAssignment_0_0 ) ) ;
    public final void rule__ConstMap__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6556:1: ( ( ( rule__ConstMap__ValueAssignment_0_0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6557:1: ( ( rule__ConstMap__ValueAssignment_0_0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6557:1: ( ( rule__ConstMap__ValueAssignment_0_0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6558:1: ( rule__ConstMap__ValueAssignment_0_0 )
            {
             before(grammarAccess.getConstMapAccess().getValueAssignment_0_0()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6559:1: ( rule__ConstMap__ValueAssignment_0_0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6559:2: rule__ConstMap__ValueAssignment_0_0
            {
            pushFollow(FOLLOW_rule__ConstMap__ValueAssignment_0_0_in_rule__ConstMap__Group_0__0__Impl13349);
            rule__ConstMap__ValueAssignment_0_0();

            state._fsp--;


            }

             after(grammarAccess.getConstMapAccess().getValueAssignment_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstMap__Group_0__0__Impl"


    // $ANTLR start "rule__ConstMap__Group_0__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6569:1: rule__ConstMap__Group_0__1 : rule__ConstMap__Group_0__1__Impl ;
    public final void rule__ConstMap__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6573:1: ( rule__ConstMap__Group_0__1__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6574:2: rule__ConstMap__Group_0__1__Impl
            {
            pushFollow(FOLLOW_rule__ConstMap__Group_0__1__Impl_in_rule__ConstMap__Group_0__113379);
            rule__ConstMap__Group_0__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstMap__Group_0__1"


    // $ANTLR start "rule__ConstMap__Group_0__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6580:1: rule__ConstMap__Group_0__1__Impl : ( '}' ) ;
    public final void rule__ConstMap__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6584:1: ( ( '}' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6585:1: ( '}' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6585:1: ( '}' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6586:1: '}'
            {
             before(grammarAccess.getConstMapAccess().getRightCurlyBracketKeyword_0_1()); 
            match(input,43,FOLLOW_43_in_rule__ConstMap__Group_0__1__Impl13407); 
             after(grammarAccess.getConstMapAccess().getRightCurlyBracketKeyword_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstMap__Group_0__1__Impl"


    // $ANTLR start "rule__ConstMap__Group_1__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6603:1: rule__ConstMap__Group_1__0 : rule__ConstMap__Group_1__0__Impl rule__ConstMap__Group_1__1 ;
    public final void rule__ConstMap__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6607:1: ( rule__ConstMap__Group_1__0__Impl rule__ConstMap__Group_1__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6608:2: rule__ConstMap__Group_1__0__Impl rule__ConstMap__Group_1__1
            {
            pushFollow(FOLLOW_rule__ConstMap__Group_1__0__Impl_in_rule__ConstMap__Group_1__013442);
            rule__ConstMap__Group_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ConstMap__Group_1__1_in_rule__ConstMap__Group_1__013445);
            rule__ConstMap__Group_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstMap__Group_1__0"


    // $ANTLR start "rule__ConstMap__Group_1__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6615:1: rule__ConstMap__Group_1__0__Impl : ( '{' ) ;
    public final void rule__ConstMap__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6619:1: ( ( '{' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6620:1: ( '{' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6620:1: ( '{' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6621:1: '{'
            {
             before(grammarAccess.getConstMapAccess().getLeftCurlyBracketKeyword_1_0()); 
            match(input,42,FOLLOW_42_in_rule__ConstMap__Group_1__0__Impl13473); 
             after(grammarAccess.getConstMapAccess().getLeftCurlyBracketKeyword_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstMap__Group_1__0__Impl"


    // $ANTLR start "rule__ConstMap__Group_1__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6634:1: rule__ConstMap__Group_1__1 : rule__ConstMap__Group_1__1__Impl rule__ConstMap__Group_1__2 ;
    public final void rule__ConstMap__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6638:1: ( rule__ConstMap__Group_1__1__Impl rule__ConstMap__Group_1__2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6639:2: rule__ConstMap__Group_1__1__Impl rule__ConstMap__Group_1__2
            {
            pushFollow(FOLLOW_rule__ConstMap__Group_1__1__Impl_in_rule__ConstMap__Group_1__113504);
            rule__ConstMap__Group_1__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ConstMap__Group_1__2_in_rule__ConstMap__Group_1__113507);
            rule__ConstMap__Group_1__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstMap__Group_1__1"


    // $ANTLR start "rule__ConstMap__Group_1__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6646:1: rule__ConstMap__Group_1__1__Impl : ( ( ( rule__ConstMap__Group_1_1__0 ) ) ( ( rule__ConstMap__Group_1_1__0 )* ) ) ;
    public final void rule__ConstMap__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6650:1: ( ( ( ( rule__ConstMap__Group_1_1__0 ) ) ( ( rule__ConstMap__Group_1_1__0 )* ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6651:1: ( ( ( rule__ConstMap__Group_1_1__0 ) ) ( ( rule__ConstMap__Group_1_1__0 )* ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6651:1: ( ( ( rule__ConstMap__Group_1_1__0 ) ) ( ( rule__ConstMap__Group_1_1__0 )* ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6652:1: ( ( rule__ConstMap__Group_1_1__0 ) ) ( ( rule__ConstMap__Group_1_1__0 )* )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6652:1: ( ( rule__ConstMap__Group_1_1__0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6653:1: ( rule__ConstMap__Group_1_1__0 )
            {
             before(grammarAccess.getConstMapAccess().getGroup_1_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6654:1: ( rule__ConstMap__Group_1_1__0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6654:2: rule__ConstMap__Group_1_1__0
            {
            pushFollow(FOLLOW_rule__ConstMap__Group_1_1__0_in_rule__ConstMap__Group_1__1__Impl13536);
            rule__ConstMap__Group_1_1__0();

            state._fsp--;


            }

             after(grammarAccess.getConstMapAccess().getGroup_1_1()); 

            }

            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6657:1: ( ( rule__ConstMap__Group_1_1__0 )* )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6658:1: ( rule__ConstMap__Group_1_1__0 )*
            {
             before(grammarAccess.getConstMapAccess().getGroup_1_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6659:1: ( rule__ConstMap__Group_1_1__0 )*
            loop62:
            do {
                int alt62=2;
                int LA62_0 = input.LA(1);

                if ( ((LA62_0>=RULE_LONG && LA62_0<=RULE_DOUBLE)||(LA62_0>=29 && LA62_0<=30)||LA62_0==42||LA62_0==63) ) {
                    alt62=1;
                }


                switch (alt62) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6659:2: rule__ConstMap__Group_1_1__0
            	    {
            	    pushFollow(FOLLOW_rule__ConstMap__Group_1_1__0_in_rule__ConstMap__Group_1__1__Impl13548);
            	    rule__ConstMap__Group_1_1__0();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop62;
                }
            } while (true);

             after(grammarAccess.getConstMapAccess().getGroup_1_1()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstMap__Group_1__1__Impl"


    // $ANTLR start "rule__ConstMap__Group_1__2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6670:1: rule__ConstMap__Group_1__2 : rule__ConstMap__Group_1__2__Impl ;
    public final void rule__ConstMap__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6674:1: ( rule__ConstMap__Group_1__2__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6675:2: rule__ConstMap__Group_1__2__Impl
            {
            pushFollow(FOLLOW_rule__ConstMap__Group_1__2__Impl_in_rule__ConstMap__Group_1__213581);
            rule__ConstMap__Group_1__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstMap__Group_1__2"


    // $ANTLR start "rule__ConstMap__Group_1__2__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6681:1: rule__ConstMap__Group_1__2__Impl : ( '}' ) ;
    public final void rule__ConstMap__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6685:1: ( ( '}' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6686:1: ( '}' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6686:1: ( '}' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6687:1: '}'
            {
             before(grammarAccess.getConstMapAccess().getRightCurlyBracketKeyword_1_2()); 
            match(input,43,FOLLOW_43_in_rule__ConstMap__Group_1__2__Impl13609); 
             after(grammarAccess.getConstMapAccess().getRightCurlyBracketKeyword_1_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstMap__Group_1__2__Impl"


    // $ANTLR start "rule__ConstMap__Group_1_1__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6706:1: rule__ConstMap__Group_1_1__0 : rule__ConstMap__Group_1_1__0__Impl rule__ConstMap__Group_1_1__1 ;
    public final void rule__ConstMap__Group_1_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6710:1: ( rule__ConstMap__Group_1_1__0__Impl rule__ConstMap__Group_1_1__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6711:2: rule__ConstMap__Group_1_1__0__Impl rule__ConstMap__Group_1_1__1
            {
            pushFollow(FOLLOW_rule__ConstMap__Group_1_1__0__Impl_in_rule__ConstMap__Group_1_1__013646);
            rule__ConstMap__Group_1_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ConstMap__Group_1_1__1_in_rule__ConstMap__Group_1_1__013649);
            rule__ConstMap__Group_1_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstMap__Group_1_1__0"


    // $ANTLR start "rule__ConstMap__Group_1_1__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6718:1: rule__ConstMap__Group_1_1__0__Impl : ( ( rule__ConstMap__V1Assignment_1_1_0 ) ) ;
    public final void rule__ConstMap__Group_1_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6722:1: ( ( ( rule__ConstMap__V1Assignment_1_1_0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6723:1: ( ( rule__ConstMap__V1Assignment_1_1_0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6723:1: ( ( rule__ConstMap__V1Assignment_1_1_0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6724:1: ( rule__ConstMap__V1Assignment_1_1_0 )
            {
             before(grammarAccess.getConstMapAccess().getV1Assignment_1_1_0()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6725:1: ( rule__ConstMap__V1Assignment_1_1_0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6725:2: rule__ConstMap__V1Assignment_1_1_0
            {
            pushFollow(FOLLOW_rule__ConstMap__V1Assignment_1_1_0_in_rule__ConstMap__Group_1_1__0__Impl13676);
            rule__ConstMap__V1Assignment_1_1_0();

            state._fsp--;


            }

             after(grammarAccess.getConstMapAccess().getV1Assignment_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstMap__Group_1_1__0__Impl"


    // $ANTLR start "rule__ConstMap__Group_1_1__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6735:1: rule__ConstMap__Group_1_1__1 : rule__ConstMap__Group_1_1__1__Impl rule__ConstMap__Group_1_1__2 ;
    public final void rule__ConstMap__Group_1_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6739:1: ( rule__ConstMap__Group_1_1__1__Impl rule__ConstMap__Group_1_1__2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6740:2: rule__ConstMap__Group_1_1__1__Impl rule__ConstMap__Group_1_1__2
            {
            pushFollow(FOLLOW_rule__ConstMap__Group_1_1__1__Impl_in_rule__ConstMap__Group_1_1__113706);
            rule__ConstMap__Group_1_1__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ConstMap__Group_1_1__2_in_rule__ConstMap__Group_1_1__113709);
            rule__ConstMap__Group_1_1__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstMap__Group_1_1__1"


    // $ANTLR start "rule__ConstMap__Group_1_1__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6747:1: rule__ConstMap__Group_1_1__1__Impl : ( ':' ) ;
    public final void rule__ConstMap__Group_1_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6751:1: ( ( ':' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6752:1: ( ':' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6752:1: ( ':' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6753:1: ':'
            {
             before(grammarAccess.getConstMapAccess().getColonKeyword_1_1_1()); 
            match(input,54,FOLLOW_54_in_rule__ConstMap__Group_1_1__1__Impl13737); 
             after(grammarAccess.getConstMapAccess().getColonKeyword_1_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstMap__Group_1_1__1__Impl"


    // $ANTLR start "rule__ConstMap__Group_1_1__2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6766:1: rule__ConstMap__Group_1_1__2 : rule__ConstMap__Group_1_1__2__Impl rule__ConstMap__Group_1_1__3 ;
    public final void rule__ConstMap__Group_1_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6770:1: ( rule__ConstMap__Group_1_1__2__Impl rule__ConstMap__Group_1_1__3 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6771:2: rule__ConstMap__Group_1_1__2__Impl rule__ConstMap__Group_1_1__3
            {
            pushFollow(FOLLOW_rule__ConstMap__Group_1_1__2__Impl_in_rule__ConstMap__Group_1_1__213768);
            rule__ConstMap__Group_1_1__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ConstMap__Group_1_1__3_in_rule__ConstMap__Group_1_1__213771);
            rule__ConstMap__Group_1_1__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstMap__Group_1_1__2"


    // $ANTLR start "rule__ConstMap__Group_1_1__2__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6778:1: rule__ConstMap__Group_1_1__2__Impl : ( ( rule__ConstMap__V2Assignment_1_1_2 ) ) ;
    public final void rule__ConstMap__Group_1_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6782:1: ( ( ( rule__ConstMap__V2Assignment_1_1_2 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6783:1: ( ( rule__ConstMap__V2Assignment_1_1_2 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6783:1: ( ( rule__ConstMap__V2Assignment_1_1_2 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6784:1: ( rule__ConstMap__V2Assignment_1_1_2 )
            {
             before(grammarAccess.getConstMapAccess().getV2Assignment_1_1_2()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6785:1: ( rule__ConstMap__V2Assignment_1_1_2 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6785:2: rule__ConstMap__V2Assignment_1_1_2
            {
            pushFollow(FOLLOW_rule__ConstMap__V2Assignment_1_1_2_in_rule__ConstMap__Group_1_1__2__Impl13798);
            rule__ConstMap__V2Assignment_1_1_2();

            state._fsp--;


            }

             after(grammarAccess.getConstMapAccess().getV2Assignment_1_1_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstMap__Group_1_1__2__Impl"


    // $ANTLR start "rule__ConstMap__Group_1_1__3"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6795:1: rule__ConstMap__Group_1_1__3 : rule__ConstMap__Group_1_1__3__Impl ;
    public final void rule__ConstMap__Group_1_1__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6799:1: ( rule__ConstMap__Group_1_1__3__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6800:2: rule__ConstMap__Group_1_1__3__Impl
            {
            pushFollow(FOLLOW_rule__ConstMap__Group_1_1__3__Impl_in_rule__ConstMap__Group_1_1__313828);
            rule__ConstMap__Group_1_1__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstMap__Group_1_1__3"


    // $ANTLR start "rule__ConstMap__Group_1_1__3__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6806:1: rule__ConstMap__Group_1_1__3__Impl : ( ( ruleListSeparator )? ) ;
    public final void rule__ConstMap__Group_1_1__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6810:1: ( ( ( ruleListSeparator )? ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6811:1: ( ( ruleListSeparator )? )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6811:1: ( ( ruleListSeparator )? )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6812:1: ( ruleListSeparator )?
            {
             before(grammarAccess.getConstMapAccess().getListSeparatorParserRuleCall_1_1_3()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6813:1: ( ruleListSeparator )?
            int alt63=2;
            int LA63_0 = input.LA(1);

            if ( ((LA63_0>=18 && LA63_0<=19)) ) {
                alt63=1;
            }
            switch (alt63) {
                case 1 :
                    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6813:3: ruleListSeparator
                    {
                    pushFollow(FOLLOW_ruleListSeparator_in_rule__ConstMap__Group_1_1__3__Impl13856);
                    ruleListSeparator();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getConstMapAccess().getListSeparatorParserRuleCall_1_1_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstMap__Group_1_1__3__Impl"


    // $ANTLR start "rule__QualifiedName__Group__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6831:1: rule__QualifiedName__Group__0 : rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 ;
    public final void rule__QualifiedName__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6835:1: ( rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6836:2: rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group__0__Impl_in_rule__QualifiedName__Group__013895);
            rule__QualifiedName__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__QualifiedName__Group__1_in_rule__QualifiedName__Group__013898);
            rule__QualifiedName__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group__0"


    // $ANTLR start "rule__QualifiedName__Group__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6843:1: rule__QualifiedName__Group__0__Impl : ( RULE_ID ) ;
    public final void rule__QualifiedName__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6847:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6848:1: ( RULE_ID )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6848:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6849:1: RULE_ID
            {
             before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__QualifiedName__Group__0__Impl13925); 
             after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group__0__Impl"


    // $ANTLR start "rule__QualifiedName__Group__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6860:1: rule__QualifiedName__Group__1 : rule__QualifiedName__Group__1__Impl ;
    public final void rule__QualifiedName__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6864:1: ( rule__QualifiedName__Group__1__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6865:2: rule__QualifiedName__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group__1__Impl_in_rule__QualifiedName__Group__113954);
            rule__QualifiedName__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group__1"


    // $ANTLR start "rule__QualifiedName__Group__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6871:1: rule__QualifiedName__Group__1__Impl : ( ( rule__QualifiedName__Group_1__0 )* ) ;
    public final void rule__QualifiedName__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6875:1: ( ( ( rule__QualifiedName__Group_1__0 )* ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6876:1: ( ( rule__QualifiedName__Group_1__0 )* )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6876:1: ( ( rule__QualifiedName__Group_1__0 )* )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6877:1: ( rule__QualifiedName__Group_1__0 )*
            {
             before(grammarAccess.getQualifiedNameAccess().getGroup_1()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6878:1: ( rule__QualifiedName__Group_1__0 )*
            loop64:
            do {
                int alt64=2;
                int LA64_0 = input.LA(1);

                if ( (LA64_0==64) ) {
                    alt64=1;
                }


                switch (alt64) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6878:2: rule__QualifiedName__Group_1__0
            	    {
            	    pushFollow(FOLLOW_rule__QualifiedName__Group_1__0_in_rule__QualifiedName__Group__1__Impl13981);
            	    rule__QualifiedName__Group_1__0();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop64;
                }
            } while (true);

             after(grammarAccess.getQualifiedNameAccess().getGroup_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group__1__Impl"


    // $ANTLR start "rule__QualifiedName__Group_1__0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6892:1: rule__QualifiedName__Group_1__0 : rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 ;
    public final void rule__QualifiedName__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6896:1: ( rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6897:2: rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group_1__0__Impl_in_rule__QualifiedName__Group_1__014016);
            rule__QualifiedName__Group_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__QualifiedName__Group_1__1_in_rule__QualifiedName__Group_1__014019);
            rule__QualifiedName__Group_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group_1__0"


    // $ANTLR start "rule__QualifiedName__Group_1__0__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6904:1: rule__QualifiedName__Group_1__0__Impl : ( '.' ) ;
    public final void rule__QualifiedName__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6908:1: ( ( '.' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6909:1: ( '.' )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6909:1: ( '.' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6910:1: '.'
            {
             before(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); 
            match(input,64,FOLLOW_64_in_rule__QualifiedName__Group_1__0__Impl14047); 
             after(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group_1__0__Impl"


    // $ANTLR start "rule__QualifiedName__Group_1__1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6923:1: rule__QualifiedName__Group_1__1 : rule__QualifiedName__Group_1__1__Impl ;
    public final void rule__QualifiedName__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6927:1: ( rule__QualifiedName__Group_1__1__Impl )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6928:2: rule__QualifiedName__Group_1__1__Impl
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group_1__1__Impl_in_rule__QualifiedName__Group_1__114078);
            rule__QualifiedName__Group_1__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group_1__1"


    // $ANTLR start "rule__QualifiedName__Group_1__1__Impl"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6934:1: rule__QualifiedName__Group_1__1__Impl : ( RULE_ID ) ;
    public final void rule__QualifiedName__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6938:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6939:1: ( RULE_ID )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6939:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6940:1: RULE_ID
            {
             before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__QualifiedName__Group_1__1__Impl14105); 
             after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group_1__1__Impl"


    // $ANTLR start "rule__Thrift__HeadersAssignment_0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6956:1: rule__Thrift__HeadersAssignment_0 : ( ruleHeader ) ;
    public final void rule__Thrift__HeadersAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6960:1: ( ( ruleHeader ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6961:1: ( ruleHeader )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6961:1: ( ruleHeader )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6962:1: ruleHeader
            {
             before(grammarAccess.getThriftAccess().getHeadersHeaderParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleHeader_in_rule__Thrift__HeadersAssignment_014143);
            ruleHeader();

            state._fsp--;

             after(grammarAccess.getThriftAccess().getHeadersHeaderParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Thrift__HeadersAssignment_0"


    // $ANTLR start "rule__Thrift__DefinitionsAssignment_1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6971:1: rule__Thrift__DefinitionsAssignment_1 : ( ruleDefinition ) ;
    public final void rule__Thrift__DefinitionsAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6975:1: ( ( ruleDefinition ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6976:1: ( ruleDefinition )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6976:1: ( ruleDefinition )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6977:1: ruleDefinition
            {
             before(grammarAccess.getThriftAccess().getDefinitionsDefinitionParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleDefinition_in_rule__Thrift__DefinitionsAssignment_114174);
            ruleDefinition();

            state._fsp--;

             after(grammarAccess.getThriftAccess().getDefinitionsDefinitionParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Thrift__DefinitionsAssignment_1"


    // $ANTLR start "rule__Include__ImportURIAssignment_1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6986:1: rule__Include__ImportURIAssignment_1 : ( RULE_STRING ) ;
    public final void rule__Include__ImportURIAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6990:1: ( ( RULE_STRING ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6991:1: ( RULE_STRING )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6991:1: ( RULE_STRING )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:6992:1: RULE_STRING
            {
             before(grammarAccess.getIncludeAccess().getImportURISTRINGTerminalRuleCall_1_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Include__ImportURIAssignment_114205); 
             after(grammarAccess.getIncludeAccess().getImportURISTRINGTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Include__ImportURIAssignment_1"


    // $ANTLR start "rule__CppInclude__ImportURIAssignment_1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7001:1: rule__CppInclude__ImportURIAssignment_1 : ( RULE_STRING ) ;
    public final void rule__CppInclude__ImportURIAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7005:1: ( ( RULE_STRING ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7006:1: ( RULE_STRING )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7006:1: ( RULE_STRING )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7007:1: RULE_STRING
            {
             before(grammarAccess.getCppIncludeAccess().getImportURISTRINGTerminalRuleCall_1_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__CppInclude__ImportURIAssignment_114236); 
             after(grammarAccess.getCppIncludeAccess().getImportURISTRINGTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CppInclude__ImportURIAssignment_1"


    // $ANTLR start "rule__Namespace__NamespaceScopeAssignment_0_1_0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7016:1: rule__Namespace__NamespaceScopeAssignment_0_1_0 : ( ( rule__Namespace__NamespaceScopeAlternatives_0_1_0_0 ) ) ;
    public final void rule__Namespace__NamespaceScopeAssignment_0_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7020:1: ( ( ( rule__Namespace__NamespaceScopeAlternatives_0_1_0_0 ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7021:1: ( ( rule__Namespace__NamespaceScopeAlternatives_0_1_0_0 ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7021:1: ( ( rule__Namespace__NamespaceScopeAlternatives_0_1_0_0 ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7022:1: ( rule__Namespace__NamespaceScopeAlternatives_0_1_0_0 )
            {
             before(grammarAccess.getNamespaceAccess().getNamespaceScopeAlternatives_0_1_0_0()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7023:1: ( rule__Namespace__NamespaceScopeAlternatives_0_1_0_0 )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7023:2: rule__Namespace__NamespaceScopeAlternatives_0_1_0_0
            {
            pushFollow(FOLLOW_rule__Namespace__NamespaceScopeAlternatives_0_1_0_0_in_rule__Namespace__NamespaceScopeAssignment_0_1_014267);
            rule__Namespace__NamespaceScopeAlternatives_0_1_0_0();

            state._fsp--;


            }

             after(grammarAccess.getNamespaceAccess().getNamespaceScopeAlternatives_0_1_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Namespace__NamespaceScopeAssignment_0_1_0"


    // $ANTLR start "rule__Namespace__NamespaceURIAssignment_0_1_1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7032:1: rule__Namespace__NamespaceURIAssignment_0_1_1 : ( ruleQualifiedName ) ;
    public final void rule__Namespace__NamespaceURIAssignment_0_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7036:1: ( ( ruleQualifiedName ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7037:1: ( ruleQualifiedName )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7037:1: ( ruleQualifiedName )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7038:1: ruleQualifiedName
            {
             before(grammarAccess.getNamespaceAccess().getNamespaceURIQualifiedNameParserRuleCall_0_1_1_0()); 
            pushFollow(FOLLOW_ruleQualifiedName_in_rule__Namespace__NamespaceURIAssignment_0_1_114300);
            ruleQualifiedName();

            state._fsp--;

             after(grammarAccess.getNamespaceAccess().getNamespaceURIQualifiedNameParserRuleCall_0_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Namespace__NamespaceURIAssignment_0_1_1"


    // $ANTLR start "rule__Namespace__NamespaceURIAssignment_1_1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7047:1: rule__Namespace__NamespaceURIAssignment_1_1 : ( RULE_STRING ) ;
    public final void rule__Namespace__NamespaceURIAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7051:1: ( ( RULE_STRING ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7052:1: ( RULE_STRING )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7052:1: ( RULE_STRING )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7053:1: RULE_STRING
            {
             before(grammarAccess.getNamespaceAccess().getNamespaceURISTRINGTerminalRuleCall_1_1_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Namespace__NamespaceURIAssignment_1_114331); 
             after(grammarAccess.getNamespaceAccess().getNamespaceURISTRINGTerminalRuleCall_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Namespace__NamespaceURIAssignment_1_1"


    // $ANTLR start "rule__Namespace__NamespaceURIAssignment_2_1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7062:1: rule__Namespace__NamespaceURIAssignment_2_1 : ( RULE_STRING ) ;
    public final void rule__Namespace__NamespaceURIAssignment_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7066:1: ( ( RULE_STRING ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7067:1: ( RULE_STRING )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7067:1: ( RULE_STRING )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7068:1: RULE_STRING
            {
             before(grammarAccess.getNamespaceAccess().getNamespaceURISTRINGTerminalRuleCall_2_1_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Namespace__NamespaceURIAssignment_2_114362); 
             after(grammarAccess.getNamespaceAccess().getNamespaceURISTRINGTerminalRuleCall_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Namespace__NamespaceURIAssignment_2_1"


    // $ANTLR start "rule__Const__TypeAssignment_1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7077:1: rule__Const__TypeAssignment_1 : ( ruleFieldType ) ;
    public final void rule__Const__TypeAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7081:1: ( ( ruleFieldType ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7082:1: ( ruleFieldType )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7082:1: ( ruleFieldType )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7083:1: ruleFieldType
            {
             before(grammarAccess.getConstAccess().getTypeFieldTypeParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleFieldType_in_rule__Const__TypeAssignment_114393);
            ruleFieldType();

            state._fsp--;

             after(grammarAccess.getConstAccess().getTypeFieldTypeParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Const__TypeAssignment_1"


    // $ANTLR start "rule__Const__NameAssignment_2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7092:1: rule__Const__NameAssignment_2 : ( RULE_ID ) ;
    public final void rule__Const__NameAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7096:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7097:1: ( RULE_ID )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7097:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7098:1: RULE_ID
            {
             before(grammarAccess.getConstAccess().getNameIDTerminalRuleCall_2_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Const__NameAssignment_214424); 
             after(grammarAccess.getConstAccess().getNameIDTerminalRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Const__NameAssignment_2"


    // $ANTLR start "rule__Const__ValueAssignment_4"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7107:1: rule__Const__ValueAssignment_4 : ( ruleConstValue ) ;
    public final void rule__Const__ValueAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7111:1: ( ( ruleConstValue ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7112:1: ( ruleConstValue )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7112:1: ( ruleConstValue )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7113:1: ruleConstValue
            {
             before(grammarAccess.getConstAccess().getValueConstValueParserRuleCall_4_0()); 
            pushFollow(FOLLOW_ruleConstValue_in_rule__Const__ValueAssignment_414455);
            ruleConstValue();

            state._fsp--;

             after(grammarAccess.getConstAccess().getValueConstValueParserRuleCall_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Const__ValueAssignment_4"


    // $ANTLR start "rule__TypeDef__TypeAssignment_1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7122:1: rule__TypeDef__TypeAssignment_1 : ( ruleDefinitionType ) ;
    public final void rule__TypeDef__TypeAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7126:1: ( ( ruleDefinitionType ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7127:1: ( ruleDefinitionType )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7127:1: ( ruleDefinitionType )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7128:1: ruleDefinitionType
            {
             before(grammarAccess.getTypeDefAccess().getTypeDefinitionTypeParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleDefinitionType_in_rule__TypeDef__TypeAssignment_114486);
            ruleDefinitionType();

            state._fsp--;

             after(grammarAccess.getTypeDefAccess().getTypeDefinitionTypeParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeDef__TypeAssignment_1"


    // $ANTLR start "rule__TypeDef__AnnotationAssignment_2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7137:1: rule__TypeDef__AnnotationAssignment_2 : ( ruleAnnotation ) ;
    public final void rule__TypeDef__AnnotationAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7141:1: ( ( ruleAnnotation ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7142:1: ( ruleAnnotation )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7142:1: ( ruleAnnotation )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7143:1: ruleAnnotation
            {
             before(grammarAccess.getTypeDefAccess().getAnnotationAnnotationParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleAnnotation_in_rule__TypeDef__AnnotationAssignment_214517);
            ruleAnnotation();

            state._fsp--;

             after(grammarAccess.getTypeDefAccess().getAnnotationAnnotationParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeDef__AnnotationAssignment_2"


    // $ANTLR start "rule__TypeDef__NameAssignment_3"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7152:1: rule__TypeDef__NameAssignment_3 : ( RULE_ID ) ;
    public final void rule__TypeDef__NameAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7156:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7157:1: ( RULE_ID )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7157:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7158:1: RULE_ID
            {
             before(grammarAccess.getTypeDefAccess().getNameIDTerminalRuleCall_3_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__TypeDef__NameAssignment_314548); 
             after(grammarAccess.getTypeDefAccess().getNameIDTerminalRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeDef__NameAssignment_3"


    // $ANTLR start "rule__Annotation__ElementsAssignment_1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7167:1: rule__Annotation__ElementsAssignment_1 : ( ruleAnnotationElement ) ;
    public final void rule__Annotation__ElementsAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7171:1: ( ( ruleAnnotationElement ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7172:1: ( ruleAnnotationElement )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7172:1: ( ruleAnnotationElement )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7173:1: ruleAnnotationElement
            {
             before(grammarAccess.getAnnotationAccess().getElementsAnnotationElementParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleAnnotationElement_in_rule__Annotation__ElementsAssignment_114579);
            ruleAnnotationElement();

            state._fsp--;

             after(grammarAccess.getAnnotationAccess().getElementsAnnotationElementParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Annotation__ElementsAssignment_1"


    // $ANTLR start "rule__Annotation__ElementsAssignment_2_1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7182:1: rule__Annotation__ElementsAssignment_2_1 : ( ruleAnnotationElement ) ;
    public final void rule__Annotation__ElementsAssignment_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7186:1: ( ( ruleAnnotationElement ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7187:1: ( ruleAnnotationElement )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7187:1: ( ruleAnnotationElement )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7188:1: ruleAnnotationElement
            {
             before(grammarAccess.getAnnotationAccess().getElementsAnnotationElementParserRuleCall_2_1_0()); 
            pushFollow(FOLLOW_ruleAnnotationElement_in_rule__Annotation__ElementsAssignment_2_114610);
            ruleAnnotationElement();

            state._fsp--;

             after(grammarAccess.getAnnotationAccess().getElementsAnnotationElementParserRuleCall_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Annotation__ElementsAssignment_2_1"


    // $ANTLR start "rule__AnnotationElement__NameAssignment_0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7197:1: rule__AnnotationElement__NameAssignment_0 : ( ruleQualifiedName ) ;
    public final void rule__AnnotationElement__NameAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7201:1: ( ( ruleQualifiedName ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7202:1: ( ruleQualifiedName )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7202:1: ( ruleQualifiedName )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7203:1: ruleQualifiedName
            {
             before(grammarAccess.getAnnotationElementAccess().getNameQualifiedNameParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleQualifiedName_in_rule__AnnotationElement__NameAssignment_014641);
            ruleQualifiedName();

            state._fsp--;

             after(grammarAccess.getAnnotationElementAccess().getNameQualifiedNameParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AnnotationElement__NameAssignment_0"


    // $ANTLR start "rule__AnnotationElement__ValueAssignment_2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7212:1: rule__AnnotationElement__ValueAssignment_2 : ( RULE_STRING ) ;
    public final void rule__AnnotationElement__ValueAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7216:1: ( ( RULE_STRING ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7217:1: ( RULE_STRING )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7217:1: ( RULE_STRING )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7218:1: RULE_STRING
            {
             before(grammarAccess.getAnnotationElementAccess().getValueSTRINGTerminalRuleCall_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__AnnotationElement__ValueAssignment_214672); 
             after(grammarAccess.getAnnotationElementAccess().getValueSTRINGTerminalRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AnnotationElement__ValueAssignment_2"


    // $ANTLR start "rule__Enum__NameAssignment_1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7227:1: rule__Enum__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Enum__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7231:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7232:1: ( RULE_ID )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7232:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7233:1: RULE_ID
            {
             before(grammarAccess.getEnumAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Enum__NameAssignment_114703); 
             after(grammarAccess.getEnumAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__NameAssignment_1"


    // $ANTLR start "rule__Enum__ElementsAssignment_3"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7242:1: rule__Enum__ElementsAssignment_3 : ( ruleEnumElement ) ;
    public final void rule__Enum__ElementsAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7246:1: ( ( ruleEnumElement ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7247:1: ( ruleEnumElement )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7247:1: ( ruleEnumElement )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7248:1: ruleEnumElement
            {
             before(grammarAccess.getEnumAccess().getElementsEnumElementParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleEnumElement_in_rule__Enum__ElementsAssignment_314734);
            ruleEnumElement();

            state._fsp--;

             after(grammarAccess.getEnumAccess().getElementsEnumElementParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__ElementsAssignment_3"


    // $ANTLR start "rule__EnumElement__NameAssignment_0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7257:1: rule__EnumElement__NameAssignment_0 : ( RULE_ID ) ;
    public final void rule__EnumElement__NameAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7261:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7262:1: ( RULE_ID )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7262:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7263:1: RULE_ID
            {
             before(grammarAccess.getEnumElementAccess().getNameIDTerminalRuleCall_0_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EnumElement__NameAssignment_014765); 
             after(grammarAccess.getEnumElementAccess().getNameIDTerminalRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumElement__NameAssignment_0"


    // $ANTLR start "rule__EnumElement__ValueAssignment_1_1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7272:1: rule__EnumElement__ValueAssignment_1_1 : ( RULE_LONG ) ;
    public final void rule__EnumElement__ValueAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7276:1: ( ( RULE_LONG ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7277:1: ( RULE_LONG )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7277:1: ( RULE_LONG )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7278:1: RULE_LONG
            {
             before(grammarAccess.getEnumElementAccess().getValueLONGTerminalRuleCall_1_1_0()); 
            match(input,RULE_LONG,FOLLOW_RULE_LONG_in_rule__EnumElement__ValueAssignment_1_114796); 
             after(grammarAccess.getEnumElementAccess().getValueLONGTerminalRuleCall_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumElement__ValueAssignment_1_1"


    // $ANTLR start "rule__Senum__NameAssignment_1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7287:1: rule__Senum__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Senum__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7291:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7292:1: ( RULE_ID )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7292:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7293:1: RULE_ID
            {
             before(grammarAccess.getSenumAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Senum__NameAssignment_114827); 
             after(grammarAccess.getSenumAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Senum__NameAssignment_1"


    // $ANTLR start "rule__Senum__ElementsAssignment_3_0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7302:1: rule__Senum__ElementsAssignment_3_0 : ( RULE_STRING ) ;
    public final void rule__Senum__ElementsAssignment_3_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7306:1: ( ( RULE_STRING ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7307:1: ( RULE_STRING )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7307:1: ( RULE_STRING )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7308:1: RULE_STRING
            {
             before(grammarAccess.getSenumAccess().getElementsSTRINGTerminalRuleCall_3_0_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Senum__ElementsAssignment_3_014858); 
             after(grammarAccess.getSenumAccess().getElementsSTRINGTerminalRuleCall_3_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Senum__ElementsAssignment_3_0"


    // $ANTLR start "rule__Struct__NameAssignment_1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7317:1: rule__Struct__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Struct__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7321:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7322:1: ( RULE_ID )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7322:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7323:1: RULE_ID
            {
             before(grammarAccess.getStructAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Struct__NameAssignment_114889); 
             after(grammarAccess.getStructAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Struct__NameAssignment_1"


    // $ANTLR start "rule__Struct__FieldsAssignment_4"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7332:1: rule__Struct__FieldsAssignment_4 : ( ruleField ) ;
    public final void rule__Struct__FieldsAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7336:1: ( ( ruleField ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7337:1: ( ruleField )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7337:1: ( ruleField )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7338:1: ruleField
            {
             before(grammarAccess.getStructAccess().getFieldsFieldParserRuleCall_4_0()); 
            pushFollow(FOLLOW_ruleField_in_rule__Struct__FieldsAssignment_414920);
            ruleField();

            state._fsp--;

             after(grammarAccess.getStructAccess().getFieldsFieldParserRuleCall_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Struct__FieldsAssignment_4"


    // $ANTLR start "rule__Struct__AnnotationAssignment_6"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7347:1: rule__Struct__AnnotationAssignment_6 : ( ruleAnnotation ) ;
    public final void rule__Struct__AnnotationAssignment_6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7351:1: ( ( ruleAnnotation ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7352:1: ( ruleAnnotation )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7352:1: ( ruleAnnotation )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7353:1: ruleAnnotation
            {
             before(grammarAccess.getStructAccess().getAnnotationAnnotationParserRuleCall_6_0()); 
            pushFollow(FOLLOW_ruleAnnotation_in_rule__Struct__AnnotationAssignment_614951);
            ruleAnnotation();

            state._fsp--;

             after(grammarAccess.getStructAccess().getAnnotationAnnotationParserRuleCall_6_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Struct__AnnotationAssignment_6"


    // $ANTLR start "rule__Union__NameAssignment_1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7362:1: rule__Union__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Union__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7366:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7367:1: ( RULE_ID )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7367:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7368:1: RULE_ID
            {
             before(grammarAccess.getUnionAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Union__NameAssignment_114982); 
             after(grammarAccess.getUnionAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Union__NameAssignment_1"


    // $ANTLR start "rule__Union__FieldsAssignment_4"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7377:1: rule__Union__FieldsAssignment_4 : ( ruleField ) ;
    public final void rule__Union__FieldsAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7381:1: ( ( ruleField ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7382:1: ( ruleField )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7382:1: ( ruleField )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7383:1: ruleField
            {
             before(grammarAccess.getUnionAccess().getFieldsFieldParserRuleCall_4_0()); 
            pushFollow(FOLLOW_ruleField_in_rule__Union__FieldsAssignment_415013);
            ruleField();

            state._fsp--;

             after(grammarAccess.getUnionAccess().getFieldsFieldParserRuleCall_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Union__FieldsAssignment_4"


    // $ANTLR start "rule__Union__AnnotationAssignment_6"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7392:1: rule__Union__AnnotationAssignment_6 : ( ruleAnnotation ) ;
    public final void rule__Union__AnnotationAssignment_6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7396:1: ( ( ruleAnnotation ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7397:1: ( ruleAnnotation )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7397:1: ( ruleAnnotation )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7398:1: ruleAnnotation
            {
             before(grammarAccess.getUnionAccess().getAnnotationAnnotationParserRuleCall_6_0()); 
            pushFollow(FOLLOW_ruleAnnotation_in_rule__Union__AnnotationAssignment_615044);
            ruleAnnotation();

            state._fsp--;

             after(grammarAccess.getUnionAccess().getAnnotationAnnotationParserRuleCall_6_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Union__AnnotationAssignment_6"


    // $ANTLR start "rule__Exception__NameAssignment_1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7407:1: rule__Exception__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Exception__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7411:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7412:1: ( RULE_ID )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7412:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7413:1: RULE_ID
            {
             before(grammarAccess.getExceptionAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Exception__NameAssignment_115075); 
             after(grammarAccess.getExceptionAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Exception__NameAssignment_1"


    // $ANTLR start "rule__Exception__FieldsAssignment_3"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7422:1: rule__Exception__FieldsAssignment_3 : ( ruleField ) ;
    public final void rule__Exception__FieldsAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7426:1: ( ( ruleField ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7427:1: ( ruleField )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7427:1: ( ruleField )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7428:1: ruleField
            {
             before(grammarAccess.getExceptionAccess().getFieldsFieldParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleField_in_rule__Exception__FieldsAssignment_315106);
            ruleField();

            state._fsp--;

             after(grammarAccess.getExceptionAccess().getFieldsFieldParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Exception__FieldsAssignment_3"


    // $ANTLR start "rule__Service__NameAssignment_1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7437:1: rule__Service__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Service__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7441:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7442:1: ( RULE_ID )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7442:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7443:1: RULE_ID
            {
             before(grammarAccess.getServiceAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Service__NameAssignment_115137); 
             after(grammarAccess.getServiceAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Service__NameAssignment_1"


    // $ANTLR start "rule__Service__SuperTypeAssignment_2_1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7452:1: rule__Service__SuperTypeAssignment_2_1 : ( ruleServiceRef ) ;
    public final void rule__Service__SuperTypeAssignment_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7456:1: ( ( ruleServiceRef ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7457:1: ( ruleServiceRef )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7457:1: ( ruleServiceRef )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7458:1: ruleServiceRef
            {
             before(grammarAccess.getServiceAccess().getSuperTypeServiceRefParserRuleCall_2_1_0()); 
            pushFollow(FOLLOW_ruleServiceRef_in_rule__Service__SuperTypeAssignment_2_115168);
            ruleServiceRef();

            state._fsp--;

             after(grammarAccess.getServiceAccess().getSuperTypeServiceRefParserRuleCall_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Service__SuperTypeAssignment_2_1"


    // $ANTLR start "rule__Service__FunctionsAssignment_4"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7467:1: rule__Service__FunctionsAssignment_4 : ( ruleFunction ) ;
    public final void rule__Service__FunctionsAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7471:1: ( ( ruleFunction ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7472:1: ( ruleFunction )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7472:1: ( ruleFunction )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7473:1: ruleFunction
            {
             before(grammarAccess.getServiceAccess().getFunctionsFunctionParserRuleCall_4_0()); 
            pushFollow(FOLLOW_ruleFunction_in_rule__Service__FunctionsAssignment_415199);
            ruleFunction();

            state._fsp--;

             after(grammarAccess.getServiceAccess().getFunctionsFunctionParserRuleCall_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Service__FunctionsAssignment_4"


    // $ANTLR start "rule__ServiceRef__ServiceAssignment"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7482:1: rule__ServiceRef__ServiceAssignment : ( ( ruleQualifiedName ) ) ;
    public final void rule__ServiceRef__ServiceAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7486:1: ( ( ( ruleQualifiedName ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7487:1: ( ( ruleQualifiedName ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7487:1: ( ( ruleQualifiedName ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7488:1: ( ruleQualifiedName )
            {
             before(grammarAccess.getServiceRefAccess().getServiceServiceCrossReference_0()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7489:1: ( ruleQualifiedName )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7490:1: ruleQualifiedName
            {
             before(grammarAccess.getServiceRefAccess().getServiceServiceQualifiedNameParserRuleCall_0_1()); 
            pushFollow(FOLLOW_ruleQualifiedName_in_rule__ServiceRef__ServiceAssignment15234);
            ruleQualifiedName();

            state._fsp--;

             after(grammarAccess.getServiceRefAccess().getServiceServiceQualifiedNameParserRuleCall_0_1()); 

            }

             after(grammarAccess.getServiceRefAccess().getServiceServiceCrossReference_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ServiceRef__ServiceAssignment"


    // $ANTLR start "rule__Field__FieldIdAssignment_0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7501:1: rule__Field__FieldIdAssignment_0 : ( ruleFieldID ) ;
    public final void rule__Field__FieldIdAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7505:1: ( ( ruleFieldID ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7506:1: ( ruleFieldID )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7506:1: ( ruleFieldID )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7507:1: ruleFieldID
            {
             before(grammarAccess.getFieldAccess().getFieldIdFieldIDParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleFieldID_in_rule__Field__FieldIdAssignment_015269);
            ruleFieldID();

            state._fsp--;

             after(grammarAccess.getFieldAccess().getFieldIdFieldIDParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__FieldIdAssignment_0"


    // $ANTLR start "rule__Field__FieldReqAssignment_1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7516:1: rule__Field__FieldReqAssignment_1 : ( ruleFieldReq ) ;
    public final void rule__Field__FieldReqAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7520:1: ( ( ruleFieldReq ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7521:1: ( ruleFieldReq )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7521:1: ( ruleFieldReq )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7522:1: ruleFieldReq
            {
             before(grammarAccess.getFieldAccess().getFieldReqFieldReqParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleFieldReq_in_rule__Field__FieldReqAssignment_115300);
            ruleFieldReq();

            state._fsp--;

             after(grammarAccess.getFieldAccess().getFieldReqFieldReqParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__FieldReqAssignment_1"


    // $ANTLR start "rule__Field__TypeAssignment_2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7531:1: rule__Field__TypeAssignment_2 : ( ruleFieldType ) ;
    public final void rule__Field__TypeAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7535:1: ( ( ruleFieldType ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7536:1: ( ruleFieldType )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7536:1: ( ruleFieldType )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7537:1: ruleFieldType
            {
             before(grammarAccess.getFieldAccess().getTypeFieldTypeParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleFieldType_in_rule__Field__TypeAssignment_215331);
            ruleFieldType();

            state._fsp--;

             after(grammarAccess.getFieldAccess().getTypeFieldTypeParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__TypeAssignment_2"


    // $ANTLR start "rule__Field__NameAssignment_3"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7546:1: rule__Field__NameAssignment_3 : ( RULE_ID ) ;
    public final void rule__Field__NameAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7550:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7551:1: ( RULE_ID )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7551:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7552:1: RULE_ID
            {
             before(grammarAccess.getFieldAccess().getNameIDTerminalRuleCall_3_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Field__NameAssignment_315362); 
             after(grammarAccess.getFieldAccess().getNameIDTerminalRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__NameAssignment_3"


    // $ANTLR start "rule__Field__ValueAssignment_4_1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7561:1: rule__Field__ValueAssignment_4_1 : ( ruleConstValue ) ;
    public final void rule__Field__ValueAssignment_4_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7565:1: ( ( ruleConstValue ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7566:1: ( ruleConstValue )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7566:1: ( ruleConstValue )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7567:1: ruleConstValue
            {
             before(grammarAccess.getFieldAccess().getValueConstValueParserRuleCall_4_1_0()); 
            pushFollow(FOLLOW_ruleConstValue_in_rule__Field__ValueAssignment_4_115393);
            ruleConstValue();

            state._fsp--;

             after(grammarAccess.getFieldAccess().getValueConstValueParserRuleCall_4_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__ValueAssignment_4_1"


    // $ANTLR start "rule__Field__AnnotationAssignment_5"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7576:1: rule__Field__AnnotationAssignment_5 : ( ruleAnnotation ) ;
    public final void rule__Field__AnnotationAssignment_5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7580:1: ( ( ruleAnnotation ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7581:1: ( ruleAnnotation )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7581:1: ( ruleAnnotation )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7582:1: ruleAnnotation
            {
             before(grammarAccess.getFieldAccess().getAnnotationAnnotationParserRuleCall_5_0()); 
            pushFollow(FOLLOW_ruleAnnotation_in_rule__Field__AnnotationAssignment_515424);
            ruleAnnotation();

            state._fsp--;

             after(grammarAccess.getFieldAccess().getAnnotationAnnotationParserRuleCall_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__AnnotationAssignment_5"


    // $ANTLR start "rule__Field__FieldsAssignment_6_2_2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7591:1: rule__Field__FieldsAssignment_6_2_2 : ( ruleField ) ;
    public final void rule__Field__FieldsAssignment_6_2_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7595:1: ( ( ruleField ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7596:1: ( ruleField )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7596:1: ( ruleField )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7597:1: ruleField
            {
             before(grammarAccess.getFieldAccess().getFieldsFieldParserRuleCall_6_2_2_0()); 
            pushFollow(FOLLOW_ruleField_in_rule__Field__FieldsAssignment_6_2_215455);
            ruleField();

            state._fsp--;

             after(grammarAccess.getFieldAccess().getFieldsFieldParserRuleCall_6_2_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__FieldsAssignment_6_2_2"


    // $ANTLR start "rule__Function__FunctionTypeAssignment_0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7606:1: rule__Function__FunctionTypeAssignment_0 : ( ruleFunctionType ) ;
    public final void rule__Function__FunctionTypeAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7610:1: ( ( ruleFunctionType ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7611:1: ( ruleFunctionType )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7611:1: ( ruleFunctionType )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7612:1: ruleFunctionType
            {
             before(grammarAccess.getFunctionAccess().getFunctionTypeFunctionTypeParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleFunctionType_in_rule__Function__FunctionTypeAssignment_015486);
            ruleFunctionType();

            state._fsp--;

             after(grammarAccess.getFunctionAccess().getFunctionTypeFunctionTypeParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Function__FunctionTypeAssignment_0"


    // $ANTLR start "rule__Function__NameAssignment_1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7621:1: rule__Function__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Function__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7625:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7626:1: ( RULE_ID )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7626:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7627:1: RULE_ID
            {
             before(grammarAccess.getFunctionAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Function__NameAssignment_115517); 
             after(grammarAccess.getFunctionAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Function__NameAssignment_1"


    // $ANTLR start "rule__Function__FieldsAssignment_3"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7636:1: rule__Function__FieldsAssignment_3 : ( ruleField ) ;
    public final void rule__Function__FieldsAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7640:1: ( ( ruleField ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7641:1: ( ruleField )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7641:1: ( ruleField )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7642:1: ruleField
            {
             before(grammarAccess.getFunctionAccess().getFieldsFieldParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleField_in_rule__Function__FieldsAssignment_315548);
            ruleField();

            state._fsp--;

             after(grammarAccess.getFunctionAccess().getFieldsFieldParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Function__FieldsAssignment_3"


    // $ANTLR start "rule__Function__ThrowsDeclAssignment_5"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7651:1: rule__Function__ThrowsDeclAssignment_5 : ( ruleThrows ) ;
    public final void rule__Function__ThrowsDeclAssignment_5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7655:1: ( ( ruleThrows ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7656:1: ( ruleThrows )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7656:1: ( ruleThrows )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7657:1: ruleThrows
            {
             before(grammarAccess.getFunctionAccess().getThrowsDeclThrowsParserRuleCall_5_0()); 
            pushFollow(FOLLOW_ruleThrows_in_rule__Function__ThrowsDeclAssignment_515579);
            ruleThrows();

            state._fsp--;

             after(grammarAccess.getFunctionAccess().getThrowsDeclThrowsParserRuleCall_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Function__ThrowsDeclAssignment_5"


    // $ANTLR start "rule__FunctionType__OnewayAssignment_0_0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7666:1: rule__FunctionType__OnewayAssignment_0_0 : ( ( 'oneway' ) ) ;
    public final void rule__FunctionType__OnewayAssignment_0_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7670:1: ( ( ( 'oneway' ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7671:1: ( ( 'oneway' ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7671:1: ( ( 'oneway' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7672:1: ( 'oneway' )
            {
             before(grammarAccess.getFunctionTypeAccess().getOnewayOnewayKeyword_0_0_0()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7673:1: ( 'oneway' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7674:1: 'oneway'
            {
             before(grammarAccess.getFunctionTypeAccess().getOnewayOnewayKeyword_0_0_0()); 
            match(input,65,FOLLOW_65_in_rule__FunctionType__OnewayAssignment_0_015615); 
             after(grammarAccess.getFunctionTypeAccess().getOnewayOnewayKeyword_0_0_0()); 

            }

             after(grammarAccess.getFunctionTypeAccess().getOnewayOnewayKeyword_0_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionType__OnewayAssignment_0_0"


    // $ANTLR start "rule__FunctionType__TypeAssignment_0_1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7689:1: rule__FunctionType__TypeAssignment_0_1 : ( ( 'void' ) ) ;
    public final void rule__FunctionType__TypeAssignment_0_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7693:1: ( ( ( 'void' ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7694:1: ( ( 'void' ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7694:1: ( ( 'void' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7695:1: ( 'void' )
            {
             before(grammarAccess.getFunctionTypeAccess().getTypeVoidKeyword_0_1_0()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7696:1: ( 'void' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7697:1: 'void'
            {
             before(grammarAccess.getFunctionTypeAccess().getTypeVoidKeyword_0_1_0()); 
            match(input,66,FOLLOW_66_in_rule__FunctionType__TypeAssignment_0_115659); 
             after(grammarAccess.getFunctionTypeAccess().getTypeVoidKeyword_0_1_0()); 

            }

             after(grammarAccess.getFunctionTypeAccess().getTypeVoidKeyword_0_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionType__TypeAssignment_0_1"


    // $ANTLR start "rule__Throws__FieldsAssignment_2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7712:1: rule__Throws__FieldsAssignment_2 : ( ruleThrowsField ) ;
    public final void rule__Throws__FieldsAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7716:1: ( ( ruleThrowsField ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7717:1: ( ruleThrowsField )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7717:1: ( ruleThrowsField )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7718:1: ruleThrowsField
            {
             before(grammarAccess.getThrowsAccess().getFieldsThrowsFieldParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleThrowsField_in_rule__Throws__FieldsAssignment_215698);
            ruleThrowsField();

            state._fsp--;

             after(grammarAccess.getThrowsAccess().getFieldsThrowsFieldParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Throws__FieldsAssignment_2"


    // $ANTLR start "rule__Throws__FieldsAssignment_3_1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7727:1: rule__Throws__FieldsAssignment_3_1 : ( ruleThrowsField ) ;
    public final void rule__Throws__FieldsAssignment_3_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7731:1: ( ( ruleThrowsField ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7732:1: ( ruleThrowsField )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7732:1: ( ruleThrowsField )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7733:1: ruleThrowsField
            {
             before(grammarAccess.getThrowsAccess().getFieldsThrowsFieldParserRuleCall_3_1_0()); 
            pushFollow(FOLLOW_ruleThrowsField_in_rule__Throws__FieldsAssignment_3_115729);
            ruleThrowsField();

            state._fsp--;

             after(grammarAccess.getThrowsAccess().getFieldsThrowsFieldParserRuleCall_3_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Throws__FieldsAssignment_3_1"


    // $ANTLR start "rule__ThrowsField__FieldIdAssignment_0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7742:1: rule__ThrowsField__FieldIdAssignment_0 : ( ruleFieldID ) ;
    public final void rule__ThrowsField__FieldIdAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7746:1: ( ( ruleFieldID ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7747:1: ( ruleFieldID )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7747:1: ( ruleFieldID )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7748:1: ruleFieldID
            {
             before(grammarAccess.getThrowsFieldAccess().getFieldIdFieldIDParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleFieldID_in_rule__ThrowsField__FieldIdAssignment_015760);
            ruleFieldID();

            state._fsp--;

             after(grammarAccess.getThrowsFieldAccess().getFieldIdFieldIDParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ThrowsField__FieldIdAssignment_0"


    // $ANTLR start "rule__ThrowsField__TypeAssignment_1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7757:1: rule__ThrowsField__TypeAssignment_1 : ( ( RULE_ID ) ) ;
    public final void rule__ThrowsField__TypeAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7761:1: ( ( ( RULE_ID ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7762:1: ( ( RULE_ID ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7762:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7763:1: ( RULE_ID )
            {
             before(grammarAccess.getThrowsFieldAccess().getTypeExceptionCrossReference_1_0()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7764:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7765:1: RULE_ID
            {
             before(grammarAccess.getThrowsFieldAccess().getTypeExceptionIDTerminalRuleCall_1_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ThrowsField__TypeAssignment_115795); 
             after(grammarAccess.getThrowsFieldAccess().getTypeExceptionIDTerminalRuleCall_1_0_1()); 

            }

             after(grammarAccess.getThrowsFieldAccess().getTypeExceptionCrossReference_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ThrowsField__TypeAssignment_1"


    // $ANTLR start "rule__ThrowsField__NameAssignment_2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7776:1: rule__ThrowsField__NameAssignment_2 : ( RULE_ID ) ;
    public final void rule__ThrowsField__NameAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7780:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7781:1: ( RULE_ID )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7781:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7782:1: RULE_ID
            {
             before(grammarAccess.getThrowsFieldAccess().getNameIDTerminalRuleCall_2_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ThrowsField__NameAssignment_215830); 
             after(grammarAccess.getThrowsFieldAccess().getNameIDTerminalRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ThrowsField__NameAssignment_2"


    // $ANTLR start "rule__MapType__CppTypeAssignment_1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7791:1: rule__MapType__CppTypeAssignment_1 : ( ruleCppType ) ;
    public final void rule__MapType__CppTypeAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7795:1: ( ( ruleCppType ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7796:1: ( ruleCppType )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7796:1: ( ruleCppType )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7797:1: ruleCppType
            {
             before(grammarAccess.getMapTypeAccess().getCppTypeCppTypeParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleCppType_in_rule__MapType__CppTypeAssignment_115861);
            ruleCppType();

            state._fsp--;

             after(grammarAccess.getMapTypeAccess().getCppTypeCppTypeParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__CppTypeAssignment_1"


    // $ANTLR start "rule__MapType__MapType1Assignment_3"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7806:1: rule__MapType__MapType1Assignment_3 : ( ruleFieldType ) ;
    public final void rule__MapType__MapType1Assignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7810:1: ( ( ruleFieldType ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7811:1: ( ruleFieldType )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7811:1: ( ruleFieldType )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7812:1: ruleFieldType
            {
             before(grammarAccess.getMapTypeAccess().getMapType1FieldTypeParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleFieldType_in_rule__MapType__MapType1Assignment_315892);
            ruleFieldType();

            state._fsp--;

             after(grammarAccess.getMapTypeAccess().getMapType1FieldTypeParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__MapType1Assignment_3"


    // $ANTLR start "rule__MapType__MapType1AnnotationAssignment_4"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7821:1: rule__MapType__MapType1AnnotationAssignment_4 : ( ruleAnnotation ) ;
    public final void rule__MapType__MapType1AnnotationAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7825:1: ( ( ruleAnnotation ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7826:1: ( ruleAnnotation )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7826:1: ( ruleAnnotation )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7827:1: ruleAnnotation
            {
             before(grammarAccess.getMapTypeAccess().getMapType1AnnotationAnnotationParserRuleCall_4_0()); 
            pushFollow(FOLLOW_ruleAnnotation_in_rule__MapType__MapType1AnnotationAssignment_415923);
            ruleAnnotation();

            state._fsp--;

             after(grammarAccess.getMapTypeAccess().getMapType1AnnotationAnnotationParserRuleCall_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__MapType1AnnotationAssignment_4"


    // $ANTLR start "rule__MapType__MapType2Assignment_6"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7836:1: rule__MapType__MapType2Assignment_6 : ( ruleFieldType ) ;
    public final void rule__MapType__MapType2Assignment_6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7840:1: ( ( ruleFieldType ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7841:1: ( ruleFieldType )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7841:1: ( ruleFieldType )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7842:1: ruleFieldType
            {
             before(grammarAccess.getMapTypeAccess().getMapType2FieldTypeParserRuleCall_6_0()); 
            pushFollow(FOLLOW_ruleFieldType_in_rule__MapType__MapType2Assignment_615954);
            ruleFieldType();

            state._fsp--;

             after(grammarAccess.getMapTypeAccess().getMapType2FieldTypeParserRuleCall_6_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__MapType2Assignment_6"


    // $ANTLR start "rule__MapType__MapType2AnnotationAssignment_7"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7851:1: rule__MapType__MapType2AnnotationAssignment_7 : ( ruleAnnotation ) ;
    public final void rule__MapType__MapType2AnnotationAssignment_7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7855:1: ( ( ruleAnnotation ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7856:1: ( ruleAnnotation )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7856:1: ( ruleAnnotation )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7857:1: ruleAnnotation
            {
             before(grammarAccess.getMapTypeAccess().getMapType2AnnotationAnnotationParserRuleCall_7_0()); 
            pushFollow(FOLLOW_ruleAnnotation_in_rule__MapType__MapType2AnnotationAssignment_715985);
            ruleAnnotation();

            state._fsp--;

             after(grammarAccess.getMapTypeAccess().getMapType2AnnotationAnnotationParserRuleCall_7_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__MapType2AnnotationAssignment_7"


    // $ANTLR start "rule__SetType__CppTypeAssignment_1"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7866:1: rule__SetType__CppTypeAssignment_1 : ( ruleCppType ) ;
    public final void rule__SetType__CppTypeAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7870:1: ( ( ruleCppType ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7871:1: ( ruleCppType )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7871:1: ( ruleCppType )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7872:1: ruleCppType
            {
             before(grammarAccess.getSetTypeAccess().getCppTypeCppTypeParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleCppType_in_rule__SetType__CppTypeAssignment_116016);
            ruleCppType();

            state._fsp--;

             after(grammarAccess.getSetTypeAccess().getCppTypeCppTypeParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SetType__CppTypeAssignment_1"


    // $ANTLR start "rule__SetType__SetTypeAssignment_3"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7881:1: rule__SetType__SetTypeAssignment_3 : ( ruleFieldType ) ;
    public final void rule__SetType__SetTypeAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7885:1: ( ( ruleFieldType ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7886:1: ( ruleFieldType )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7886:1: ( ruleFieldType )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7887:1: ruleFieldType
            {
             before(grammarAccess.getSetTypeAccess().getSetTypeFieldTypeParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleFieldType_in_rule__SetType__SetTypeAssignment_316047);
            ruleFieldType();

            state._fsp--;

             after(grammarAccess.getSetTypeAccess().getSetTypeFieldTypeParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SetType__SetTypeAssignment_3"


    // $ANTLR start "rule__SetType__SetTypeAnnotationAssignment_4"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7896:1: rule__SetType__SetTypeAnnotationAssignment_4 : ( ruleAnnotation ) ;
    public final void rule__SetType__SetTypeAnnotationAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7900:1: ( ( ruleAnnotation ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7901:1: ( ruleAnnotation )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7901:1: ( ruleAnnotation )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7902:1: ruleAnnotation
            {
             before(grammarAccess.getSetTypeAccess().getSetTypeAnnotationAnnotationParserRuleCall_4_0()); 
            pushFollow(FOLLOW_ruleAnnotation_in_rule__SetType__SetTypeAnnotationAssignment_416078);
            ruleAnnotation();

            state._fsp--;

             after(grammarAccess.getSetTypeAccess().getSetTypeAnnotationAnnotationParserRuleCall_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SetType__SetTypeAnnotationAssignment_4"


    // $ANTLR start "rule__ListType__ListTypeAssignment_2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7911:1: rule__ListType__ListTypeAssignment_2 : ( ruleFieldType ) ;
    public final void rule__ListType__ListTypeAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7915:1: ( ( ruleFieldType ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7916:1: ( ruleFieldType )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7916:1: ( ruleFieldType )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7917:1: ruleFieldType
            {
             before(grammarAccess.getListTypeAccess().getListTypeFieldTypeParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleFieldType_in_rule__ListType__ListTypeAssignment_216109);
            ruleFieldType();

            state._fsp--;

             after(grammarAccess.getListTypeAccess().getListTypeFieldTypeParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ListType__ListTypeAssignment_2"


    // $ANTLR start "rule__ListType__ListTypeAnnotationAssignment_3"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7926:1: rule__ListType__ListTypeAnnotationAssignment_3 : ( ruleAnnotation ) ;
    public final void rule__ListType__ListTypeAnnotationAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7930:1: ( ( ruleAnnotation ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7931:1: ( ruleAnnotation )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7931:1: ( ruleAnnotation )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7932:1: ruleAnnotation
            {
             before(grammarAccess.getListTypeAccess().getListTypeAnnotationAnnotationParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleAnnotation_in_rule__ListType__ListTypeAnnotationAssignment_316140);
            ruleAnnotation();

            state._fsp--;

             after(grammarAccess.getListTypeAccess().getListTypeAnnotationAnnotationParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ListType__ListTypeAnnotationAssignment_3"


    // $ANTLR start "rule__ListType__CppTypeAssignment_5"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7941:1: rule__ListType__CppTypeAssignment_5 : ( ruleCppType ) ;
    public final void rule__ListType__CppTypeAssignment_5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7945:1: ( ( ruleCppType ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7946:1: ( ruleCppType )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7946:1: ( ruleCppType )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7947:1: ruleCppType
            {
             before(grammarAccess.getListTypeAccess().getCppTypeCppTypeParserRuleCall_5_0()); 
            pushFollow(FOLLOW_ruleCppType_in_rule__ListType__CppTypeAssignment_516171);
            ruleCppType();

            state._fsp--;

             after(grammarAccess.getListTypeAccess().getCppTypeCppTypeParserRuleCall_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ListType__CppTypeAssignment_5"


    // $ANTLR start "rule__BaseTypeRef__BasicTypeAssignment"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7956:1: rule__BaseTypeRef__BasicTypeAssignment : ( ruleBaseType ) ;
    public final void rule__BaseTypeRef__BasicTypeAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7960:1: ( ( ruleBaseType ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7961:1: ( ruleBaseType )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7961:1: ( ruleBaseType )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7962:1: ruleBaseType
            {
             before(grammarAccess.getBaseTypeRefAccess().getBasicTypeBaseTypeEnumRuleCall_0()); 
            pushFollow(FOLLOW_ruleBaseType_in_rule__BaseTypeRef__BasicTypeAssignment16202);
            ruleBaseType();

            state._fsp--;

             after(grammarAccess.getBaseTypeRefAccess().getBasicTypeBaseTypeEnumRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BaseTypeRef__BasicTypeAssignment"


    // $ANTLR start "rule__ContainerTypeRef__ContainerTypeAssignment"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7971:1: rule__ContainerTypeRef__ContainerTypeAssignment : ( ruleContainerType ) ;
    public final void rule__ContainerTypeRef__ContainerTypeAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7975:1: ( ( ruleContainerType ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7976:1: ( ruleContainerType )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7976:1: ( ruleContainerType )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7977:1: ruleContainerType
            {
             before(grammarAccess.getContainerTypeRefAccess().getContainerTypeContainerTypeParserRuleCall_0()); 
            pushFollow(FOLLOW_ruleContainerType_in_rule__ContainerTypeRef__ContainerTypeAssignment16233);
            ruleContainerType();

            state._fsp--;

             after(grammarAccess.getContainerTypeRefAccess().getContainerTypeContainerTypeParserRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContainerTypeRef__ContainerTypeAssignment"


    // $ANTLR start "rule__DefinitionRef__DefinitionAssignment"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7986:1: rule__DefinitionRef__DefinitionAssignment : ( ( ruleQualifiedName ) ) ;
    public final void rule__DefinitionRef__DefinitionAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7990:1: ( ( ( ruleQualifiedName ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7991:1: ( ( ruleQualifiedName ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7991:1: ( ( ruleQualifiedName ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7992:1: ( ruleQualifiedName )
            {
             before(grammarAccess.getDefinitionRefAccess().getDefinitionDefinitionCrossReference_0()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7993:1: ( ruleQualifiedName )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:7994:1: ruleQualifiedName
            {
             before(grammarAccess.getDefinitionRefAccess().getDefinitionDefinitionQualifiedNameParserRuleCall_0_1()); 
            pushFollow(FOLLOW_ruleQualifiedName_in_rule__DefinitionRef__DefinitionAssignment16268);
            ruleQualifiedName();

            state._fsp--;

             after(grammarAccess.getDefinitionRefAccess().getDefinitionDefinitionQualifiedNameParserRuleCall_0_1()); 

            }

             after(grammarAccess.getDefinitionRefAccess().getDefinitionDefinitionCrossReference_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DefinitionRef__DefinitionAssignment"


    // $ANTLR start "rule__HexRef__HexAssignment"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8005:1: rule__HexRef__HexAssignment : ( RULE_HEX ) ;
    public final void rule__HexRef__HexAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8009:1: ( ( RULE_HEX ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8010:1: ( RULE_HEX )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8010:1: ( RULE_HEX )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8011:1: RULE_HEX
            {
             before(grammarAccess.getHexRefAccess().getHexHEXTerminalRuleCall_0()); 
            match(input,RULE_HEX,FOLLOW_RULE_HEX_in_rule__HexRef__HexAssignment16303); 
             after(grammarAccess.getHexRefAccess().getHexHEXTerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__HexRef__HexAssignment"


    // $ANTLR start "rule__LongRef__LongAssignment"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8020:1: rule__LongRef__LongAssignment : ( RULE_LONG ) ;
    public final void rule__LongRef__LongAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8024:1: ( ( RULE_LONG ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8025:1: ( RULE_LONG )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8025:1: ( RULE_LONG )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8026:1: RULE_LONG
            {
             before(grammarAccess.getLongRefAccess().getLongLONGTerminalRuleCall_0()); 
            match(input,RULE_LONG,FOLLOW_RULE_LONG_in_rule__LongRef__LongAssignment16334); 
             after(grammarAccess.getLongRefAccess().getLongLONGTerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LongRef__LongAssignment"


    // $ANTLR start "rule__DoubleRef__DoubleAssignment"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8035:1: rule__DoubleRef__DoubleAssignment : ( RULE_DOUBLE ) ;
    public final void rule__DoubleRef__DoubleAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8039:1: ( ( RULE_DOUBLE ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8040:1: ( RULE_DOUBLE )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8040:1: ( RULE_DOUBLE )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8041:1: RULE_DOUBLE
            {
             before(grammarAccess.getDoubleRefAccess().getDoubleDOUBLETerminalRuleCall_0()); 
            match(input,RULE_DOUBLE,FOLLOW_RULE_DOUBLE_in_rule__DoubleRef__DoubleAssignment16365); 
             after(grammarAccess.getDoubleRefAccess().getDoubleDOUBLETerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DoubleRef__DoubleAssignment"


    // $ANTLR start "rule__BooleanRef__BooleanAssignment"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8050:1: rule__BooleanRef__BooleanAssignment : ( ruleBOOL ) ;
    public final void rule__BooleanRef__BooleanAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8054:1: ( ( ruleBOOL ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8055:1: ( ruleBOOL )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8055:1: ( ruleBOOL )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8056:1: ruleBOOL
            {
             before(grammarAccess.getBooleanRefAccess().getBooleanBOOLEnumRuleCall_0()); 
            pushFollow(FOLLOW_ruleBOOL_in_rule__BooleanRef__BooleanAssignment16396);
            ruleBOOL();

            state._fsp--;

             after(grammarAccess.getBooleanRefAccess().getBooleanBOOLEnumRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BooleanRef__BooleanAssignment"


    // $ANTLR start "rule__StringRef__StringAssignment"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8065:1: rule__StringRef__StringAssignment : ( RULE_STRING ) ;
    public final void rule__StringRef__StringAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8069:1: ( ( RULE_STRING ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8070:1: ( RULE_STRING )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8070:1: ( RULE_STRING )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8071:1: RULE_STRING
            {
             before(grammarAccess.getStringRefAccess().getStringSTRINGTerminalRuleCall_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__StringRef__StringAssignment16427); 
             after(grammarAccess.getStringRefAccess().getStringSTRINGTerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StringRef__StringAssignment"


    // $ANTLR start "rule__ConstList__ValueAssignment_0_0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8080:1: rule__ConstList__ValueAssignment_0_0 : ( ( '[' ) ) ;
    public final void rule__ConstList__ValueAssignment_0_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8084:1: ( ( ( '[' ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8085:1: ( ( '[' ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8085:1: ( ( '[' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8086:1: ( '[' )
            {
             before(grammarAccess.getConstListAccess().getValueLeftSquareBracketKeyword_0_0_0()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8087:1: ( '[' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8088:1: '['
            {
             before(grammarAccess.getConstListAccess().getValueLeftSquareBracketKeyword_0_0_0()); 
            match(input,63,FOLLOW_63_in_rule__ConstList__ValueAssignment_0_016463); 
             after(grammarAccess.getConstListAccess().getValueLeftSquareBracketKeyword_0_0_0()); 

            }

             after(grammarAccess.getConstListAccess().getValueLeftSquareBracketKeyword_0_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstList__ValueAssignment_0_0"


    // $ANTLR start "rule__ConstList__ListAssignment_1_1_0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8103:1: rule__ConstList__ListAssignment_1_1_0 : ( ruleConstValue ) ;
    public final void rule__ConstList__ListAssignment_1_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8107:1: ( ( ruleConstValue ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8108:1: ( ruleConstValue )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8108:1: ( ruleConstValue )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8109:1: ruleConstValue
            {
             before(grammarAccess.getConstListAccess().getListConstValueParserRuleCall_1_1_0_0()); 
            pushFollow(FOLLOW_ruleConstValue_in_rule__ConstList__ListAssignment_1_1_016502);
            ruleConstValue();

            state._fsp--;

             after(grammarAccess.getConstListAccess().getListConstValueParserRuleCall_1_1_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstList__ListAssignment_1_1_0"


    // $ANTLR start "rule__ConstMap__ValueAssignment_0_0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8118:1: rule__ConstMap__ValueAssignment_0_0 : ( ( '{' ) ) ;
    public final void rule__ConstMap__ValueAssignment_0_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8122:1: ( ( ( '{' ) ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8123:1: ( ( '{' ) )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8123:1: ( ( '{' ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8124:1: ( '{' )
            {
             before(grammarAccess.getConstMapAccess().getValueLeftCurlyBracketKeyword_0_0_0()); 
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8125:1: ( '{' )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8126:1: '{'
            {
             before(grammarAccess.getConstMapAccess().getValueLeftCurlyBracketKeyword_0_0_0()); 
            match(input,42,FOLLOW_42_in_rule__ConstMap__ValueAssignment_0_016538); 
             after(grammarAccess.getConstMapAccess().getValueLeftCurlyBracketKeyword_0_0_0()); 

            }

             after(grammarAccess.getConstMapAccess().getValueLeftCurlyBracketKeyword_0_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstMap__ValueAssignment_0_0"


    // $ANTLR start "rule__ConstMap__V1Assignment_1_1_0"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8141:1: rule__ConstMap__V1Assignment_1_1_0 : ( ruleConstValue ) ;
    public final void rule__ConstMap__V1Assignment_1_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8145:1: ( ( ruleConstValue ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8146:1: ( ruleConstValue )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8146:1: ( ruleConstValue )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8147:1: ruleConstValue
            {
             before(grammarAccess.getConstMapAccess().getV1ConstValueParserRuleCall_1_1_0_0()); 
            pushFollow(FOLLOW_ruleConstValue_in_rule__ConstMap__V1Assignment_1_1_016577);
            ruleConstValue();

            state._fsp--;

             after(grammarAccess.getConstMapAccess().getV1ConstValueParserRuleCall_1_1_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstMap__V1Assignment_1_1_0"


    // $ANTLR start "rule__ConstMap__V2Assignment_1_1_2"
    // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8156:1: rule__ConstMap__V2Assignment_1_1_2 : ( ruleConstValue ) ;
    public final void rule__ConstMap__V2Assignment_1_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8160:1: ( ( ruleConstValue ) )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8161:1: ( ruleConstValue )
            {
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8161:1: ( ruleConstValue )
            // ../de.thwildau.tm.moses.thrift.ui/src-gen/de/thwildau/tm/moses/thrift/ui/contentassist/antlr/internal/InternalThrift.g:8162:1: ruleConstValue
            {
             before(grammarAccess.getConstMapAccess().getV2ConstValueParserRuleCall_1_1_2_0()); 
            pushFollow(FOLLOW_ruleConstValue_in_rule__ConstMap__V2Assignment_1_1_216608);
            ruleConstValue();

            state._fsp--;

             after(grammarAccess.getConstMapAccess().getV2ConstValueParserRuleCall_1_1_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstMap__V2Assignment_1_1_2"

    // Delegated rules


 

    public static final BitSet FOLLOW_ruleThrift_in_entryRuleThrift61 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleThrift68 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Thrift__Group__0_in_ruleThrift94 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleHeader_in_entryRuleHeader121 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleHeader128 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Header__Alternatives_in_ruleHeader154 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleInclude_in_entryRuleInclude181 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleInclude188 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Include__Group__0_in_ruleInclude214 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCppInclude_in_entryRuleCppInclude241 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleCppInclude248 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__CppInclude__Group__0_in_ruleCppInclude274 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNamespace_in_entryRuleNamespace301 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleNamespace308 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Namespace__Alternatives_in_ruleNamespace334 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDefinition_in_entryRuleDefinition361 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleDefinition368 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Alternatives_in_ruleDefinition394 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConst_in_entryRuleConst421 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleConst428 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Const__Group__0_in_ruleConst454 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTypeDef_in_entryRuleTypeDef481 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleTypeDef488 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeDef__Group__0_in_ruleTypeDef514 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAnnotation_in_entryRuleAnnotation541 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAnnotation548 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Annotation__Group__0_in_ruleAnnotation574 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAnnotationElement_in_entryRuleAnnotationElement601 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAnnotationElement608 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AnnotationElement__Group__0_in_ruleAnnotationElement634 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEnum_in_entryRuleEnum661 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleEnum668 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Enum__Group__0_in_ruleEnum694 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEnumElement_in_entryRuleEnumElement721 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleEnumElement728 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EnumElement__Group__0_in_ruleEnumElement754 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSenum_in_entryRuleSenum781 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleSenum788 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Senum__Group__0_in_ruleSenum814 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStruct_in_entryRuleStruct841 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleStruct848 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Struct__Group__0_in_ruleStruct874 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnion_in_entryRuleUnion901 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleUnion908 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Union__Group__0_in_ruleUnion934 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleException_in_entryRuleException961 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleException968 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Exception__Group__0_in_ruleException994 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleService_in_entryRuleService1021 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleService1028 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Service__Group__0_in_ruleService1054 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleServiceRef_in_entryRuleServiceRef1081 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleServiceRef1088 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ServiceRef__ServiceAssignment_in_ruleServiceRef1114 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleField_in_entryRuleField1141 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleField1148 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group__0_in_ruleField1174 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFieldID_in_entryRuleFieldID1201 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleFieldID1208 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FieldID__Group__0_in_ruleFieldID1234 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFieldReq_in_entryRuleFieldReq1261 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleFieldReq1268 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FieldReq__Alternatives_in_ruleFieldReq1294 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFunction_in_entryRuleFunction1321 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleFunction1328 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Function__Group__0_in_ruleFunction1354 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFunctionType_in_entryRuleFunctionType1381 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleFunctionType1388 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionType__Alternatives_in_ruleFunctionType1414 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleThrows_in_entryRuleThrows1441 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleThrows1448 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Throws__Group__0_in_ruleThrows1474 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleThrowsField_in_entryRuleThrowsField1501 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleThrowsField1508 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ThrowsField__Group__0_in_ruleThrowsField1534 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFieldType_in_entryRuleFieldType1561 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleFieldType1568 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FieldType__Alternatives_in_ruleFieldType1594 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDefinitionType_in_entryRuleDefinitionType1621 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleDefinitionType1628 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DefinitionType__Alternatives_in_ruleDefinitionType1654 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleContainerType_in_entryRuleContainerType1681 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleContainerType1688 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ContainerType__Alternatives_in_ruleContainerType1714 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMapType_in_entryRuleMapType1741 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleMapType1748 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MapType__Group__0_in_ruleMapType1774 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSetType_in_entryRuleSetType1801 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleSetType1808 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SetType__Group__0_in_ruleSetType1834 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleListType_in_entryRuleListType1861 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleListType1868 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ListType__Group__0_in_ruleListType1894 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCppType_in_entryRuleCppType1921 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleCppType1928 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__CppType__Group__0_in_ruleCppType1954 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBaseTypeRef_in_entryRuleBaseTypeRef1981 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleBaseTypeRef1988 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BaseTypeRef__BasicTypeAssignment_in_ruleBaseTypeRef2014 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleContainerTypeRef_in_entryRuleContainerTypeRef2041 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleContainerTypeRef2048 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ContainerTypeRef__ContainerTypeAssignment_in_ruleContainerTypeRef2074 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDefinitionRef_in_entryRuleDefinitionRef2101 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleDefinitionRef2108 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DefinitionRef__DefinitionAssignment_in_ruleDefinitionRef2134 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConstValue_in_entryRuleConstValue2161 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleConstValue2168 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConstValue__Alternatives_in_ruleConstValue2194 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNumberRef_in_entryRuleNumberRef2221 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleNumberRef2228 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NumberRef__Alternatives_in_ruleNumberRef2254 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleHexRef_in_entryRuleHexRef2281 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleHexRef2288 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__HexRef__HexAssignment_in_ruleHexRef2314 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLongRef_in_entryRuleLongRef2341 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleLongRef2348 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LongRef__LongAssignment_in_ruleLongRef2374 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDoubleRef_in_entryRuleDoubleRef2401 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleDoubleRef2408 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DoubleRef__DoubleAssignment_in_ruleDoubleRef2434 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBooleanRef_in_entryRuleBooleanRef2461 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleBooleanRef2468 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BooleanRef__BooleanAssignment_in_ruleBooleanRef2494 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStringRef_in_entryRuleStringRef2521 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleStringRef2528 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StringRef__StringAssignment_in_ruleStringRef2554 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConstList_in_entryRuleConstList2581 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleConstList2588 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConstList__Alternatives_in_ruleConstList2614 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConstMap_in_entryRuleConstMap2641 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleConstMap2648 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConstMap__Alternatives_in_ruleConstMap2674 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleListSeparator_in_entryRuleListSeparator2701 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleListSeparator2708 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ListSeparator__Alternatives_in_ruleListSeparator2734 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName2761 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedName2768 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group__0_in_ruleQualifiedName2794 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BaseType__Alternatives_in_ruleBaseType2831 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BOOL__Alternatives_in_ruleBOOL2867 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleInclude_in_rule__Header__Alternatives2902 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCppInclude_in_rule__Header__Alternatives2919 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNamespace_in_rule__Header__Alternatives2936 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Namespace__Group_0__0_in_rule__Namespace__Alternatives2968 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Namespace__Group_1__0_in_rule__Namespace__Alternatives2986 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Namespace__Group_2__0_in_rule__Namespace__Alternatives3004 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__Namespace__NamespaceScopeAlternatives_0_1_0_03038 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_rule__Namespace__NamespaceScopeAlternatives_0_1_0_03057 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConst_in_rule__Definition__Alternatives3089 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTypeDef_in_rule__Definition__Alternatives3106 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEnum_in_rule__Definition__Alternatives3123 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSenum_in_rule__Definition__Alternatives3140 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStruct_in_rule__Definition__Alternatives3157 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnion_in_rule__Definition__Alternatives3174 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleException_in_rule__Definition__Alternatives3191 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleService_in_rule__Definition__Alternatives3208 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__FieldReq__Alternatives3241 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_rule__FieldReq__Alternatives3261 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionType__Group_0__0_in_rule__FunctionType__Alternatives3295 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFieldType_in_rule__FunctionType__Alternatives3313 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDefinitionRef_in_rule__FieldType__Alternatives3345 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBaseTypeRef_in_rule__FieldType__Alternatives3362 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleContainerTypeRef_in_rule__FieldType__Alternatives3379 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBaseTypeRef_in_rule__DefinitionType__Alternatives3411 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleContainerTypeRef_in_rule__DefinitionType__Alternatives3428 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMapType_in_rule__ContainerType__Alternatives3460 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSetType_in_rule__ContainerType__Alternatives3477 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleListType_in_rule__ContainerType__Alternatives3494 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDefinitionRef_in_rule__ConstValue__Alternatives3526 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBooleanRef_in_rule__ConstValue__Alternatives3543 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNumberRef_in_rule__ConstValue__Alternatives3560 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStringRef_in_rule__ConstValue__Alternatives3577 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConstList_in_rule__ConstValue__Alternatives3594 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConstMap_in_rule__ConstValue__Alternatives3611 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleHexRef_in_rule__NumberRef__Alternatives3643 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDoubleRef_in_rule__NumberRef__Alternatives3660 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLongRef_in_rule__NumberRef__Alternatives3677 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConstList__Group_0__0_in_rule__ConstList__Alternatives3709 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConstList__Group_1__0_in_rule__ConstList__Alternatives3727 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConstMap__Group_0__0_in_rule__ConstMap__Alternatives3760 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConstMap__Group_1__0_in_rule__ConstMap__Alternatives3778 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__ListSeparator__Alternatives3812 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_rule__ListSeparator__Alternatives3832 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rule__BaseType__Alternatives3867 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__BaseType__Alternatives3888 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_22_in_rule__BaseType__Alternatives3909 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_23_in_rule__BaseType__Alternatives3930 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_24_in_rule__BaseType__Alternatives3951 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_25_in_rule__BaseType__Alternatives3972 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_26_in_rule__BaseType__Alternatives3993 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_27_in_rule__BaseType__Alternatives4014 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__BaseType__Alternatives4035 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_29_in_rule__BOOL__Alternatives4071 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_30_in_rule__BOOL__Alternatives4092 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Thrift__Group__0__Impl_in_rule__Thrift__Group__04125 = new BitSet(new long[]{0x0003B25000000000L});
    public static final BitSet FOLLOW_rule__Thrift__Group__1_in_rule__Thrift__Group__04128 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Thrift__HeadersAssignment_0_in_rule__Thrift__Group__0__Impl4155 = new BitSet(new long[]{0x0000000F80000002L});
    public static final BitSet FOLLOW_rule__Thrift__Group__1__Impl_in_rule__Thrift__Group__14186 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Thrift__DefinitionsAssignment_1_in_rule__Thrift__Group__1__Impl4213 = new BitSet(new long[]{0x0003B25000000002L});
    public static final BitSet FOLLOW_rule__Include__Group__0__Impl_in_rule__Include__Group__04248 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Include__Group__1_in_rule__Include__Group__04251 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_31_in_rule__Include__Group__0__Impl4279 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Include__Group__1__Impl_in_rule__Include__Group__14310 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Include__ImportURIAssignment_1_in_rule__Include__Group__1__Impl4337 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__CppInclude__Group__0__Impl_in_rule__CppInclude__Group__04371 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__CppInclude__Group__1_in_rule__CppInclude__Group__04374 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_32_in_rule__CppInclude__Group__0__Impl4402 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__CppInclude__Group__1__Impl_in_rule__CppInclude__Group__14433 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__CppInclude__ImportURIAssignment_1_in_rule__CppInclude__Group__1__Impl4460 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Namespace__Group_0__0__Impl_in_rule__Namespace__Group_0__04494 = new BitSet(new long[]{0x0000000000008040L});
    public static final BitSet FOLLOW_rule__Namespace__Group_0__1_in_rule__Namespace__Group_0__04497 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_33_in_rule__Namespace__Group_0__0__Impl4525 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Namespace__Group_0__1__Impl_in_rule__Namespace__Group_0__14556 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Namespace__Group_0_1__0_in_rule__Namespace__Group_0__1__Impl4583 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Namespace__Group_0_1__0__Impl_in_rule__Namespace__Group_0_1__04617 = new BitSet(new long[]{0x0000000000008040L});
    public static final BitSet FOLLOW_rule__Namespace__Group_0_1__1_in_rule__Namespace__Group_0_1__04620 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Namespace__NamespaceScopeAssignment_0_1_0_in_rule__Namespace__Group_0_1__0__Impl4647 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Namespace__Group_0_1__1__Impl_in_rule__Namespace__Group_0_1__14677 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Namespace__NamespaceURIAssignment_0_1_1_in_rule__Namespace__Group_0_1__1__Impl4704 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Namespace__Group_1__0__Impl_in_rule__Namespace__Group_1__04738 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Namespace__Group_1__1_in_rule__Namespace__Group_1__04741 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_34_in_rule__Namespace__Group_1__0__Impl4769 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Namespace__Group_1__1__Impl_in_rule__Namespace__Group_1__14800 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Namespace__NamespaceURIAssignment_1_1_in_rule__Namespace__Group_1__1__Impl4827 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Namespace__Group_2__0__Impl_in_rule__Namespace__Group_2__04861 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Namespace__Group_2__1_in_rule__Namespace__Group_2__04864 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_35_in_rule__Namespace__Group_2__0__Impl4892 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Namespace__Group_2__1__Impl_in_rule__Namespace__Group_2__14923 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Namespace__NamespaceURIAssignment_2_1_in_rule__Namespace__Group_2__1__Impl4950 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Const__Group__0__Impl_in_rule__Const__Group__04984 = new BitSet(new long[]{0x190000001FF08040L});
    public static final BitSet FOLLOW_rule__Const__Group__1_in_rule__Const__Group__04987 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_36_in_rule__Const__Group__0__Impl5015 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Const__Group__1__Impl_in_rule__Const__Group__15046 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__Const__Group__2_in_rule__Const__Group__15049 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Const__TypeAssignment_1_in_rule__Const__Group__1__Impl5076 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Const__Group__2__Impl_in_rule__Const__Group__25106 = new BitSet(new long[]{0x0000002000000000L});
    public static final BitSet FOLLOW_rule__Const__Group__3_in_rule__Const__Group__25109 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Const__NameAssignment_2_in_rule__Const__Group__2__Impl5136 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Const__Group__3__Impl_in_rule__Const__Group__35166 = new BitSet(new long[]{0x80000400600081F0L});
    public static final BitSet FOLLOW_rule__Const__Group__4_in_rule__Const__Group__35169 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_37_in_rule__Const__Group__3__Impl5197 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Const__Group__4__Impl_in_rule__Const__Group__45228 = new BitSet(new long[]{0x00000000000C0000L});
    public static final BitSet FOLLOW_rule__Const__Group__5_in_rule__Const__Group__45231 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Const__ValueAssignment_4_in_rule__Const__Group__4__Impl5258 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Const__Group__5__Impl_in_rule__Const__Group__55288 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleListSeparator_in_rule__Const__Group__5__Impl5316 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeDef__Group__0__Impl_in_rule__TypeDef__Group__05359 = new BitSet(new long[]{0x190000001FF08040L});
    public static final BitSet FOLLOW_rule__TypeDef__Group__1_in_rule__TypeDef__Group__05362 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_38_in_rule__TypeDef__Group__0__Impl5390 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeDef__Group__1__Impl_in_rule__TypeDef__Group__15421 = new BitSet(new long[]{0x0000008000000040L});
    public static final BitSet FOLLOW_rule__TypeDef__Group__2_in_rule__TypeDef__Group__15424 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeDef__TypeAssignment_1_in_rule__TypeDef__Group__1__Impl5451 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeDef__Group__2__Impl_in_rule__TypeDef__Group__25481 = new BitSet(new long[]{0x0000008000000040L});
    public static final BitSet FOLLOW_rule__TypeDef__Group__3_in_rule__TypeDef__Group__25484 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeDef__AnnotationAssignment_2_in_rule__TypeDef__Group__2__Impl5511 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeDef__Group__3__Impl_in_rule__TypeDef__Group__35542 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeDef__NameAssignment_3_in_rule__TypeDef__Group__3__Impl5569 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Annotation__Group__0__Impl_in_rule__Annotation__Group__05607 = new BitSet(new long[]{0x0000000000008040L});
    public static final BitSet FOLLOW_rule__Annotation__Group__1_in_rule__Annotation__Group__05610 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_39_in_rule__Annotation__Group__0__Impl5638 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Annotation__Group__1__Impl_in_rule__Annotation__Group__15669 = new BitSet(new long[]{0x0000010000040000L});
    public static final BitSet FOLLOW_rule__Annotation__Group__2_in_rule__Annotation__Group__15672 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Annotation__ElementsAssignment_1_in_rule__Annotation__Group__1__Impl5699 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Annotation__Group__2__Impl_in_rule__Annotation__Group__25729 = new BitSet(new long[]{0x0000010000040000L});
    public static final BitSet FOLLOW_rule__Annotation__Group__3_in_rule__Annotation__Group__25732 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Annotation__Group_2__0_in_rule__Annotation__Group__2__Impl5759 = new BitSet(new long[]{0x0000000000040002L});
    public static final BitSet FOLLOW_rule__Annotation__Group__3__Impl_in_rule__Annotation__Group__35790 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__Annotation__Group__3__Impl5818 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Annotation__Group_2__0__Impl_in_rule__Annotation__Group_2__05857 = new BitSet(new long[]{0x0000000000008040L});
    public static final BitSet FOLLOW_rule__Annotation__Group_2__1_in_rule__Annotation__Group_2__05860 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Annotation__Group_2__0__Impl5888 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Annotation__Group_2__1__Impl_in_rule__Annotation__Group_2__15919 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Annotation__ElementsAssignment_2_1_in_rule__Annotation__Group_2__1__Impl5946 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AnnotationElement__Group__0__Impl_in_rule__AnnotationElement__Group__05980 = new BitSet(new long[]{0x0000002000000000L});
    public static final BitSet FOLLOW_rule__AnnotationElement__Group__1_in_rule__AnnotationElement__Group__05983 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AnnotationElement__NameAssignment_0_in_rule__AnnotationElement__Group__0__Impl6010 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AnnotationElement__Group__1__Impl_in_rule__AnnotationElement__Group__16040 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__AnnotationElement__Group__2_in_rule__AnnotationElement__Group__16043 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_37_in_rule__AnnotationElement__Group__1__Impl6071 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AnnotationElement__Group__2__Impl_in_rule__AnnotationElement__Group__26102 = new BitSet(new long[]{0x00000000000C0000L});
    public static final BitSet FOLLOW_rule__AnnotationElement__Group__3_in_rule__AnnotationElement__Group__26105 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AnnotationElement__ValueAssignment_2_in_rule__AnnotationElement__Group__2__Impl6132 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AnnotationElement__Group__3__Impl_in_rule__AnnotationElement__Group__36162 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleListSeparator_in_rule__AnnotationElement__Group__3__Impl6190 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Enum__Group__0__Impl_in_rule__Enum__Group__06229 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__Enum__Group__1_in_rule__Enum__Group__06232 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_41_in_rule__Enum__Group__0__Impl6260 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Enum__Group__1__Impl_in_rule__Enum__Group__16291 = new BitSet(new long[]{0x0000040000000000L});
    public static final BitSet FOLLOW_rule__Enum__Group__2_in_rule__Enum__Group__16294 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Enum__NameAssignment_1_in_rule__Enum__Group__1__Impl6321 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Enum__Group__2__Impl_in_rule__Enum__Group__26351 = new BitSet(new long[]{0x0000080000000040L});
    public static final BitSet FOLLOW_rule__Enum__Group__3_in_rule__Enum__Group__26354 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_42_in_rule__Enum__Group__2__Impl6382 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Enum__Group__3__Impl_in_rule__Enum__Group__36413 = new BitSet(new long[]{0x0000080000000040L});
    public static final BitSet FOLLOW_rule__Enum__Group__4_in_rule__Enum__Group__36416 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Enum__ElementsAssignment_3_in_rule__Enum__Group__3__Impl6443 = new BitSet(new long[]{0x0000000000000042L});
    public static final BitSet FOLLOW_rule__Enum__Group__4__Impl_in_rule__Enum__Group__46474 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__Enum__Group__4__Impl6502 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EnumElement__Group__0__Impl_in_rule__EnumElement__Group__06543 = new BitSet(new long[]{0x00000020000C0000L});
    public static final BitSet FOLLOW_rule__EnumElement__Group__1_in_rule__EnumElement__Group__06546 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EnumElement__NameAssignment_0_in_rule__EnumElement__Group__0__Impl6573 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EnumElement__Group__1__Impl_in_rule__EnumElement__Group__16603 = new BitSet(new long[]{0x00000020000C0000L});
    public static final BitSet FOLLOW_rule__EnumElement__Group__2_in_rule__EnumElement__Group__16606 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EnumElement__Group_1__0_in_rule__EnumElement__Group__1__Impl6633 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EnumElement__Group__2__Impl_in_rule__EnumElement__Group__26664 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleListSeparator_in_rule__EnumElement__Group__2__Impl6692 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EnumElement__Group_1__0__Impl_in_rule__EnumElement__Group_1__06729 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__EnumElement__Group_1__1_in_rule__EnumElement__Group_1__06732 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_37_in_rule__EnumElement__Group_1__0__Impl6760 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EnumElement__Group_1__1__Impl_in_rule__EnumElement__Group_1__16791 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EnumElement__ValueAssignment_1_1_in_rule__EnumElement__Group_1__1__Impl6818 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Senum__Group__0__Impl_in_rule__Senum__Group__06852 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__Senum__Group__1_in_rule__Senum__Group__06855 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_44_in_rule__Senum__Group__0__Impl6883 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Senum__Group__1__Impl_in_rule__Senum__Group__16914 = new BitSet(new long[]{0x0000040000000000L});
    public static final BitSet FOLLOW_rule__Senum__Group__2_in_rule__Senum__Group__16917 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Senum__NameAssignment_1_in_rule__Senum__Group__1__Impl6944 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Senum__Group__2__Impl_in_rule__Senum__Group__26974 = new BitSet(new long[]{0x0000080000000020L});
    public static final BitSet FOLLOW_rule__Senum__Group__3_in_rule__Senum__Group__26977 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_42_in_rule__Senum__Group__2__Impl7005 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Senum__Group__3__Impl_in_rule__Senum__Group__37036 = new BitSet(new long[]{0x0000080000000020L});
    public static final BitSet FOLLOW_rule__Senum__Group__4_in_rule__Senum__Group__37039 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Senum__Group_3__0_in_rule__Senum__Group__3__Impl7066 = new BitSet(new long[]{0x0000000000000022L});
    public static final BitSet FOLLOW_rule__Senum__Group__4__Impl_in_rule__Senum__Group__47097 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__Senum__Group__4__Impl7125 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Senum__Group_3__0__Impl_in_rule__Senum__Group_3__07166 = new BitSet(new long[]{0x00000000000C0000L});
    public static final BitSet FOLLOW_rule__Senum__Group_3__1_in_rule__Senum__Group_3__07169 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Senum__ElementsAssignment_3_0_in_rule__Senum__Group_3__0__Impl7196 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Senum__Group_3__1__Impl_in_rule__Senum__Group_3__17226 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleListSeparator_in_rule__Senum__Group_3__1__Impl7254 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Struct__Group__0__Impl_in_rule__Struct__Group__07289 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__Struct__Group__1_in_rule__Struct__Group__07292 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_45_in_rule__Struct__Group__0__Impl7320 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Struct__Group__1__Impl_in_rule__Struct__Group__17351 = new BitSet(new long[]{0x0000440000000000L});
    public static final BitSet FOLLOW_rule__Struct__Group__2_in_rule__Struct__Group__17354 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Struct__NameAssignment_1_in_rule__Struct__Group__1__Impl7381 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Struct__Group__2__Impl_in_rule__Struct__Group__27411 = new BitSet(new long[]{0x0000440000000000L});
    public static final BitSet FOLLOW_rule__Struct__Group__3_in_rule__Struct__Group__27414 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_46_in_rule__Struct__Group__2__Impl7443 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Struct__Group__3__Impl_in_rule__Struct__Group__37476 = new BitSet(new long[]{0x190008001FF38050L});
    public static final BitSet FOLLOW_rule__Struct__Group__4_in_rule__Struct__Group__37479 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_42_in_rule__Struct__Group__3__Impl7507 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Struct__Group__4__Impl_in_rule__Struct__Group__47538 = new BitSet(new long[]{0x190008001FF38050L});
    public static final BitSet FOLLOW_rule__Struct__Group__5_in_rule__Struct__Group__47541 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Struct__FieldsAssignment_4_in_rule__Struct__Group__4__Impl7568 = new BitSet(new long[]{0x190000001FF38052L});
    public static final BitSet FOLLOW_rule__Struct__Group__5__Impl_in_rule__Struct__Group__57599 = new BitSet(new long[]{0x0000008000000000L});
    public static final BitSet FOLLOW_rule__Struct__Group__6_in_rule__Struct__Group__57602 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__Struct__Group__5__Impl7630 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Struct__Group__6__Impl_in_rule__Struct__Group__67661 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Struct__AnnotationAssignment_6_in_rule__Struct__Group__6__Impl7688 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Union__Group__0__Impl_in_rule__Union__Group__07733 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__Union__Group__1_in_rule__Union__Group__07736 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_47_in_rule__Union__Group__0__Impl7764 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Union__Group__1__Impl_in_rule__Union__Group__17795 = new BitSet(new long[]{0x0000440000000000L});
    public static final BitSet FOLLOW_rule__Union__Group__2_in_rule__Union__Group__17798 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Union__NameAssignment_1_in_rule__Union__Group__1__Impl7825 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Union__Group__2__Impl_in_rule__Union__Group__27855 = new BitSet(new long[]{0x0000440000000000L});
    public static final BitSet FOLLOW_rule__Union__Group__3_in_rule__Union__Group__27858 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_46_in_rule__Union__Group__2__Impl7887 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Union__Group__3__Impl_in_rule__Union__Group__37920 = new BitSet(new long[]{0x190008001FF38050L});
    public static final BitSet FOLLOW_rule__Union__Group__4_in_rule__Union__Group__37923 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_42_in_rule__Union__Group__3__Impl7951 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Union__Group__4__Impl_in_rule__Union__Group__47982 = new BitSet(new long[]{0x190008001FF38050L});
    public static final BitSet FOLLOW_rule__Union__Group__5_in_rule__Union__Group__47985 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Union__FieldsAssignment_4_in_rule__Union__Group__4__Impl8012 = new BitSet(new long[]{0x190000001FF38052L});
    public static final BitSet FOLLOW_rule__Union__Group__5__Impl_in_rule__Union__Group__58043 = new BitSet(new long[]{0x0000008000000000L});
    public static final BitSet FOLLOW_rule__Union__Group__6_in_rule__Union__Group__58046 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__Union__Group__5__Impl8074 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Union__Group__6__Impl_in_rule__Union__Group__68105 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Union__AnnotationAssignment_6_in_rule__Union__Group__6__Impl8132 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Exception__Group__0__Impl_in_rule__Exception__Group__08177 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__Exception__Group__1_in_rule__Exception__Group__08180 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_48_in_rule__Exception__Group__0__Impl8208 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Exception__Group__1__Impl_in_rule__Exception__Group__18239 = new BitSet(new long[]{0x0000040000000000L});
    public static final BitSet FOLLOW_rule__Exception__Group__2_in_rule__Exception__Group__18242 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Exception__NameAssignment_1_in_rule__Exception__Group__1__Impl8269 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Exception__Group__2__Impl_in_rule__Exception__Group__28299 = new BitSet(new long[]{0x190008001FF38050L});
    public static final BitSet FOLLOW_rule__Exception__Group__3_in_rule__Exception__Group__28302 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_42_in_rule__Exception__Group__2__Impl8330 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Exception__Group__3__Impl_in_rule__Exception__Group__38361 = new BitSet(new long[]{0x190008001FF38050L});
    public static final BitSet FOLLOW_rule__Exception__Group__4_in_rule__Exception__Group__38364 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Exception__FieldsAssignment_3_in_rule__Exception__Group__3__Impl8391 = new BitSet(new long[]{0x190000001FF38052L});
    public static final BitSet FOLLOW_rule__Exception__Group__4__Impl_in_rule__Exception__Group__48422 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__Exception__Group__4__Impl8450 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Service__Group__0__Impl_in_rule__Service__Group__08491 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__Service__Group__1_in_rule__Service__Group__08494 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_49_in_rule__Service__Group__0__Impl8522 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Service__Group__1__Impl_in_rule__Service__Group__18553 = new BitSet(new long[]{0x0004040000000000L});
    public static final BitSet FOLLOW_rule__Service__Group__2_in_rule__Service__Group__18556 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Service__NameAssignment_1_in_rule__Service__Group__1__Impl8583 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Service__Group__2__Impl_in_rule__Service__Group__28613 = new BitSet(new long[]{0x0004040000000000L});
    public static final BitSet FOLLOW_rule__Service__Group__3_in_rule__Service__Group__28616 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Service__Group_2__0_in_rule__Service__Group__2__Impl8643 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Service__Group__3__Impl_in_rule__Service__Group__38674 = new BitSet(new long[]{0x190008001FF08040L,0x0000000000000006L});
    public static final BitSet FOLLOW_rule__Service__Group__4_in_rule__Service__Group__38677 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_42_in_rule__Service__Group__3__Impl8705 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Service__Group__4__Impl_in_rule__Service__Group__48736 = new BitSet(new long[]{0x190008001FF08040L,0x0000000000000006L});
    public static final BitSet FOLLOW_rule__Service__Group__5_in_rule__Service__Group__48739 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Service__FunctionsAssignment_4_in_rule__Service__Group__4__Impl8766 = new BitSet(new long[]{0x190000001FF08042L,0x0000000000000006L});
    public static final BitSet FOLLOW_rule__Service__Group__5__Impl_in_rule__Service__Group__58797 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__Service__Group__5__Impl8825 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Service__Group_2__0__Impl_in_rule__Service__Group_2__08868 = new BitSet(new long[]{0x0000000000008040L});
    public static final BitSet FOLLOW_rule__Service__Group_2__1_in_rule__Service__Group_2__08871 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_50_in_rule__Service__Group_2__0__Impl8899 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Service__Group_2__1__Impl_in_rule__Service__Group_2__18930 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Service__SuperTypeAssignment_2_1_in_rule__Service__Group_2__1__Impl8957 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group__0__Impl_in_rule__Field__Group__08991 = new BitSet(new long[]{0x190000001FF38050L});
    public static final BitSet FOLLOW_rule__Field__Group__1_in_rule__Field__Group__08994 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__FieldIdAssignment_0_in_rule__Field__Group__0__Impl9021 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group__1__Impl_in_rule__Field__Group__19052 = new BitSet(new long[]{0x190000001FF38050L});
    public static final BitSet FOLLOW_rule__Field__Group__2_in_rule__Field__Group__19055 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__FieldReqAssignment_1_in_rule__Field__Group__1__Impl9082 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group__2__Impl_in_rule__Field__Group__29113 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__Field__Group__3_in_rule__Field__Group__29116 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__TypeAssignment_2_in_rule__Field__Group__2__Impl9143 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group__3__Impl_in_rule__Field__Group__39173 = new BitSet(new long[]{0x003800A000000000L});
    public static final BitSet FOLLOW_rule__Field__Group__4_in_rule__Field__Group__39176 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__NameAssignment_3_in_rule__Field__Group__3__Impl9203 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group__4__Impl_in_rule__Field__Group__49233 = new BitSet(new long[]{0x003800A000000000L});
    public static final BitSet FOLLOW_rule__Field__Group__5_in_rule__Field__Group__49236 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group_4__0_in_rule__Field__Group__4__Impl9263 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group__5__Impl_in_rule__Field__Group__59294 = new BitSet(new long[]{0x003800A000000000L});
    public static final BitSet FOLLOW_rule__Field__Group__6_in_rule__Field__Group__59297 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__AnnotationAssignment_5_in_rule__Field__Group__5__Impl9324 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group__6__Impl_in_rule__Field__Group__69355 = new BitSet(new long[]{0x00000000000C0000L});
    public static final BitSet FOLLOW_rule__Field__Group__7_in_rule__Field__Group__69358 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group_6__0_in_rule__Field__Group__6__Impl9385 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group__7__Impl_in_rule__Field__Group__79415 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleListSeparator_in_rule__Field__Group__7__Impl9443 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group_4__0__Impl_in_rule__Field__Group_4__09490 = new BitSet(new long[]{0x80000400600081F0L});
    public static final BitSet FOLLOW_rule__Field__Group_4__1_in_rule__Field__Group_4__09493 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_37_in_rule__Field__Group_4__0__Impl9521 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group_4__1__Impl_in_rule__Field__Group_4__19552 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__ValueAssignment_4_1_in_rule__Field__Group_4__1__Impl9579 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group_6__0__Impl_in_rule__Field__Group_6__09613 = new BitSet(new long[]{0x003800A000000000L});
    public static final BitSet FOLLOW_rule__Field__Group_6__1_in_rule__Field__Group_6__09616 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_51_in_rule__Field__Group_6__0__Impl9645 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group_6__1__Impl_in_rule__Field__Group_6__19678 = new BitSet(new long[]{0x003800A000000000L});
    public static final BitSet FOLLOW_rule__Field__Group_6__2_in_rule__Field__Group_6__19681 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_52_in_rule__Field__Group_6__1__Impl9710 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group_6__2__Impl_in_rule__Field__Group_6__29743 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group_6_2__0_in_rule__Field__Group_6__2__Impl9770 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group_6_2__0__Impl_in_rule__Field__Group_6_2__09807 = new BitSet(new long[]{0x0000040000000000L});
    public static final BitSet FOLLOW_rule__Field__Group_6_2__1_in_rule__Field__Group_6_2__09810 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_53_in_rule__Field__Group_6_2__0__Impl9838 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group_6_2__1__Impl_in_rule__Field__Group_6_2__19869 = new BitSet(new long[]{0x190008001FF38050L});
    public static final BitSet FOLLOW_rule__Field__Group_6_2__2_in_rule__Field__Group_6_2__19872 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_42_in_rule__Field__Group_6_2__1__Impl9900 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group_6_2__2__Impl_in_rule__Field__Group_6_2__29931 = new BitSet(new long[]{0x190008001FF38050L});
    public static final BitSet FOLLOW_rule__Field__Group_6_2__3_in_rule__Field__Group_6_2__29934 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__FieldsAssignment_6_2_2_in_rule__Field__Group_6_2__2__Impl9961 = new BitSet(new long[]{0x190000001FF38052L});
    public static final BitSet FOLLOW_rule__Field__Group_6_2__3__Impl_in_rule__Field__Group_6_2__39992 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__Field__Group_6_2__3__Impl10020 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FieldID__Group__0__Impl_in_rule__FieldID__Group__010059 = new BitSet(new long[]{0x0040000000000000L});
    public static final BitSet FOLLOW_rule__FieldID__Group__1_in_rule__FieldID__Group__010062 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_LONG_in_rule__FieldID__Group__0__Impl10089 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FieldID__Group__1__Impl_in_rule__FieldID__Group__110118 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_54_in_rule__FieldID__Group__1__Impl10146 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Function__Group__0__Impl_in_rule__Function__Group__010181 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__Function__Group__1_in_rule__Function__Group__010184 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Function__FunctionTypeAssignment_0_in_rule__Function__Group__0__Impl10211 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Function__Group__1__Impl_in_rule__Function__Group__110241 = new BitSet(new long[]{0x0000008000000000L});
    public static final BitSet FOLLOW_rule__Function__Group__2_in_rule__Function__Group__110244 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Function__NameAssignment_1_in_rule__Function__Group__1__Impl10271 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Function__Group__2__Impl_in_rule__Function__Group__210301 = new BitSet(new long[]{0x190001001FF38050L});
    public static final BitSet FOLLOW_rule__Function__Group__3_in_rule__Function__Group__210304 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_39_in_rule__Function__Group__2__Impl10332 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Function__Group__3__Impl_in_rule__Function__Group__310363 = new BitSet(new long[]{0x190001001FF38050L});
    public static final BitSet FOLLOW_rule__Function__Group__4_in_rule__Function__Group__310366 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Function__FieldsAssignment_3_in_rule__Function__Group__3__Impl10393 = new BitSet(new long[]{0x190000001FF38052L});
    public static final BitSet FOLLOW_rule__Function__Group__4__Impl_in_rule__Function__Group__410424 = new BitSet(new long[]{0x00800000000C0000L});
    public static final BitSet FOLLOW_rule__Function__Group__5_in_rule__Function__Group__410427 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__Function__Group__4__Impl10455 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Function__Group__5__Impl_in_rule__Function__Group__510486 = new BitSet(new long[]{0x00800000000C0000L});
    public static final BitSet FOLLOW_rule__Function__Group__6_in_rule__Function__Group__510489 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Function__ThrowsDeclAssignment_5_in_rule__Function__Group__5__Impl10516 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Function__Group__6__Impl_in_rule__Function__Group__610547 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleListSeparator_in_rule__Function__Group__6__Impl10575 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionType__Group_0__0__Impl_in_rule__FunctionType__Group_0__010620 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000006L});
    public static final BitSet FOLLOW_rule__FunctionType__Group_0__1_in_rule__FunctionType__Group_0__010623 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionType__OnewayAssignment_0_0_in_rule__FunctionType__Group_0__0__Impl10650 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionType__Group_0__1__Impl_in_rule__FunctionType__Group_0__110681 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionType__TypeAssignment_0_1_in_rule__FunctionType__Group_0__1__Impl10708 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Throws__Group__0__Impl_in_rule__Throws__Group__010742 = new BitSet(new long[]{0x0000008000000000L});
    public static final BitSet FOLLOW_rule__Throws__Group__1_in_rule__Throws__Group__010745 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_55_in_rule__Throws__Group__0__Impl10773 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Throws__Group__1__Impl_in_rule__Throws__Group__110804 = new BitSet(new long[]{0x0000000000000050L});
    public static final BitSet FOLLOW_rule__Throws__Group__2_in_rule__Throws__Group__110807 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_39_in_rule__Throws__Group__1__Impl10835 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Throws__Group__2__Impl_in_rule__Throws__Group__210866 = new BitSet(new long[]{0x0000010000040000L});
    public static final BitSet FOLLOW_rule__Throws__Group__3_in_rule__Throws__Group__210869 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Throws__FieldsAssignment_2_in_rule__Throws__Group__2__Impl10896 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Throws__Group__3__Impl_in_rule__Throws__Group__310926 = new BitSet(new long[]{0x0000010000040000L});
    public static final BitSet FOLLOW_rule__Throws__Group__4_in_rule__Throws__Group__310929 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Throws__Group_3__0_in_rule__Throws__Group__3__Impl10956 = new BitSet(new long[]{0x0000000000040002L});
    public static final BitSet FOLLOW_rule__Throws__Group__4__Impl_in_rule__Throws__Group__410987 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__Throws__Group__4__Impl11015 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Throws__Group_3__0__Impl_in_rule__Throws__Group_3__011056 = new BitSet(new long[]{0x0000000000000050L});
    public static final BitSet FOLLOW_rule__Throws__Group_3__1_in_rule__Throws__Group_3__011059 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Throws__Group_3__0__Impl11087 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Throws__Group_3__1__Impl_in_rule__Throws__Group_3__111118 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Throws__FieldsAssignment_3_1_in_rule__Throws__Group_3__1__Impl11145 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ThrowsField__Group__0__Impl_in_rule__ThrowsField__Group__011179 = new BitSet(new long[]{0x0000000000000050L});
    public static final BitSet FOLLOW_rule__ThrowsField__Group__1_in_rule__ThrowsField__Group__011182 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ThrowsField__FieldIdAssignment_0_in_rule__ThrowsField__Group__0__Impl11209 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ThrowsField__Group__1__Impl_in_rule__ThrowsField__Group__111240 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__ThrowsField__Group__2_in_rule__ThrowsField__Group__111243 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ThrowsField__TypeAssignment_1_in_rule__ThrowsField__Group__1__Impl11270 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ThrowsField__Group__2__Impl_in_rule__ThrowsField__Group__211300 = new BitSet(new long[]{0x00000000000C0000L});
    public static final BitSet FOLLOW_rule__ThrowsField__Group__3_in_rule__ThrowsField__Group__211303 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ThrowsField__NameAssignment_2_in_rule__ThrowsField__Group__2__Impl11330 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ThrowsField__Group__3__Impl_in_rule__ThrowsField__Group__311360 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleListSeparator_in_rule__ThrowsField__Group__3__Impl11388 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MapType__Group__0__Impl_in_rule__MapType__Group__011427 = new BitSet(new long[]{0x2200000000000000L});
    public static final BitSet FOLLOW_rule__MapType__Group__1_in_rule__MapType__Group__011430 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_56_in_rule__MapType__Group__0__Impl11458 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MapType__Group__1__Impl_in_rule__MapType__Group__111489 = new BitSet(new long[]{0x2200000000000000L});
    public static final BitSet FOLLOW_rule__MapType__Group__2_in_rule__MapType__Group__111492 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MapType__CppTypeAssignment_1_in_rule__MapType__Group__1__Impl11519 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MapType__Group__2__Impl_in_rule__MapType__Group__211550 = new BitSet(new long[]{0x190000001FF08040L});
    public static final BitSet FOLLOW_rule__MapType__Group__3_in_rule__MapType__Group__211553 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_57_in_rule__MapType__Group__2__Impl11581 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MapType__Group__3__Impl_in_rule__MapType__Group__311612 = new BitSet(new long[]{0x0000008000040000L});
    public static final BitSet FOLLOW_rule__MapType__Group__4_in_rule__MapType__Group__311615 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MapType__MapType1Assignment_3_in_rule__MapType__Group__3__Impl11642 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MapType__Group__4__Impl_in_rule__MapType__Group__411672 = new BitSet(new long[]{0x0000008000040000L});
    public static final BitSet FOLLOW_rule__MapType__Group__5_in_rule__MapType__Group__411675 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MapType__MapType1AnnotationAssignment_4_in_rule__MapType__Group__4__Impl11702 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MapType__Group__5__Impl_in_rule__MapType__Group__511733 = new BitSet(new long[]{0x190000001FF08040L});
    public static final BitSet FOLLOW_rule__MapType__Group__6_in_rule__MapType__Group__511736 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__MapType__Group__5__Impl11764 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MapType__Group__6__Impl_in_rule__MapType__Group__611795 = new BitSet(new long[]{0x0400008000000000L});
    public static final BitSet FOLLOW_rule__MapType__Group__7_in_rule__MapType__Group__611798 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MapType__MapType2Assignment_6_in_rule__MapType__Group__6__Impl11825 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MapType__Group__7__Impl_in_rule__MapType__Group__711855 = new BitSet(new long[]{0x0400008000000000L});
    public static final BitSet FOLLOW_rule__MapType__Group__8_in_rule__MapType__Group__711858 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MapType__MapType2AnnotationAssignment_7_in_rule__MapType__Group__7__Impl11885 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MapType__Group__8__Impl_in_rule__MapType__Group__811916 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_58_in_rule__MapType__Group__8__Impl11944 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SetType__Group__0__Impl_in_rule__SetType__Group__011993 = new BitSet(new long[]{0x2200000000000000L});
    public static final BitSet FOLLOW_rule__SetType__Group__1_in_rule__SetType__Group__011996 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_59_in_rule__SetType__Group__0__Impl12024 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SetType__Group__1__Impl_in_rule__SetType__Group__112055 = new BitSet(new long[]{0x2200000000000000L});
    public static final BitSet FOLLOW_rule__SetType__Group__2_in_rule__SetType__Group__112058 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SetType__CppTypeAssignment_1_in_rule__SetType__Group__1__Impl12085 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SetType__Group__2__Impl_in_rule__SetType__Group__212116 = new BitSet(new long[]{0x190000001FF08040L});
    public static final BitSet FOLLOW_rule__SetType__Group__3_in_rule__SetType__Group__212119 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_57_in_rule__SetType__Group__2__Impl12147 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SetType__Group__3__Impl_in_rule__SetType__Group__312178 = new BitSet(new long[]{0x0400008000000000L});
    public static final BitSet FOLLOW_rule__SetType__Group__4_in_rule__SetType__Group__312181 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SetType__SetTypeAssignment_3_in_rule__SetType__Group__3__Impl12208 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SetType__Group__4__Impl_in_rule__SetType__Group__412238 = new BitSet(new long[]{0x0400008000000000L});
    public static final BitSet FOLLOW_rule__SetType__Group__5_in_rule__SetType__Group__412241 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SetType__SetTypeAnnotationAssignment_4_in_rule__SetType__Group__4__Impl12268 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SetType__Group__5__Impl_in_rule__SetType__Group__512299 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_58_in_rule__SetType__Group__5__Impl12327 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ListType__Group__0__Impl_in_rule__ListType__Group__012370 = new BitSet(new long[]{0x0200000000000000L});
    public static final BitSet FOLLOW_rule__ListType__Group__1_in_rule__ListType__Group__012373 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_60_in_rule__ListType__Group__0__Impl12401 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ListType__Group__1__Impl_in_rule__ListType__Group__112432 = new BitSet(new long[]{0x190000001FF08040L});
    public static final BitSet FOLLOW_rule__ListType__Group__2_in_rule__ListType__Group__112435 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_57_in_rule__ListType__Group__1__Impl12463 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ListType__Group__2__Impl_in_rule__ListType__Group__212494 = new BitSet(new long[]{0x0400008000000000L});
    public static final BitSet FOLLOW_rule__ListType__Group__3_in_rule__ListType__Group__212497 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ListType__ListTypeAssignment_2_in_rule__ListType__Group__2__Impl12524 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ListType__Group__3__Impl_in_rule__ListType__Group__312554 = new BitSet(new long[]{0x0400008000000000L});
    public static final BitSet FOLLOW_rule__ListType__Group__4_in_rule__ListType__Group__312557 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ListType__ListTypeAnnotationAssignment_3_in_rule__ListType__Group__3__Impl12584 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ListType__Group__4__Impl_in_rule__ListType__Group__412615 = new BitSet(new long[]{0x2000000000000000L});
    public static final BitSet FOLLOW_rule__ListType__Group__5_in_rule__ListType__Group__412618 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_58_in_rule__ListType__Group__4__Impl12646 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ListType__Group__5__Impl_in_rule__ListType__Group__512677 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ListType__CppTypeAssignment_5_in_rule__ListType__Group__5__Impl12704 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__CppType__Group__0__Impl_in_rule__CppType__Group__012747 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__CppType__Group__1_in_rule__CppType__Group__012750 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_61_in_rule__CppType__Group__0__Impl12778 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__CppType__Group__1__Impl_in_rule__CppType__Group__112809 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__CppType__Group__1__Impl12836 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConstList__Group_0__0__Impl_in_rule__ConstList__Group_0__012869 = new BitSet(new long[]{0x4000000000000000L});
    public static final BitSet FOLLOW_rule__ConstList__Group_0__1_in_rule__ConstList__Group_0__012872 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConstList__ValueAssignment_0_0_in_rule__ConstList__Group_0__0__Impl12899 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConstList__Group_0__1__Impl_in_rule__ConstList__Group_0__112929 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_62_in_rule__ConstList__Group_0__1__Impl12957 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConstList__Group_1__0__Impl_in_rule__ConstList__Group_1__012992 = new BitSet(new long[]{0x80000400600081F0L});
    public static final BitSet FOLLOW_rule__ConstList__Group_1__1_in_rule__ConstList__Group_1__012995 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_63_in_rule__ConstList__Group_1__0__Impl13023 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConstList__Group_1__1__Impl_in_rule__ConstList__Group_1__113054 = new BitSet(new long[]{0x4000000000000000L});
    public static final BitSet FOLLOW_rule__ConstList__Group_1__2_in_rule__ConstList__Group_1__113057 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConstList__Group_1_1__0_in_rule__ConstList__Group_1__1__Impl13086 = new BitSet(new long[]{0x80000400600081F2L});
    public static final BitSet FOLLOW_rule__ConstList__Group_1_1__0_in_rule__ConstList__Group_1__1__Impl13098 = new BitSet(new long[]{0x80000400600081F2L});
    public static final BitSet FOLLOW_rule__ConstList__Group_1__2__Impl_in_rule__ConstList__Group_1__213131 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_62_in_rule__ConstList__Group_1__2__Impl13159 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConstList__Group_1_1__0__Impl_in_rule__ConstList__Group_1_1__013196 = new BitSet(new long[]{0x00000000000C0000L});
    public static final BitSet FOLLOW_rule__ConstList__Group_1_1__1_in_rule__ConstList__Group_1_1__013199 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConstList__ListAssignment_1_1_0_in_rule__ConstList__Group_1_1__0__Impl13226 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConstList__Group_1_1__1__Impl_in_rule__ConstList__Group_1_1__113256 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleListSeparator_in_rule__ConstList__Group_1_1__1__Impl13284 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConstMap__Group_0__0__Impl_in_rule__ConstMap__Group_0__013319 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_rule__ConstMap__Group_0__1_in_rule__ConstMap__Group_0__013322 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConstMap__ValueAssignment_0_0_in_rule__ConstMap__Group_0__0__Impl13349 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConstMap__Group_0__1__Impl_in_rule__ConstMap__Group_0__113379 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__ConstMap__Group_0__1__Impl13407 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConstMap__Group_1__0__Impl_in_rule__ConstMap__Group_1__013442 = new BitSet(new long[]{0x80000400600081F0L});
    public static final BitSet FOLLOW_rule__ConstMap__Group_1__1_in_rule__ConstMap__Group_1__013445 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_42_in_rule__ConstMap__Group_1__0__Impl13473 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConstMap__Group_1__1__Impl_in_rule__ConstMap__Group_1__113504 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_rule__ConstMap__Group_1__2_in_rule__ConstMap__Group_1__113507 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConstMap__Group_1_1__0_in_rule__ConstMap__Group_1__1__Impl13536 = new BitSet(new long[]{0x80000400600081F2L});
    public static final BitSet FOLLOW_rule__ConstMap__Group_1_1__0_in_rule__ConstMap__Group_1__1__Impl13548 = new BitSet(new long[]{0x80000400600081F2L});
    public static final BitSet FOLLOW_rule__ConstMap__Group_1__2__Impl_in_rule__ConstMap__Group_1__213581 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__ConstMap__Group_1__2__Impl13609 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConstMap__Group_1_1__0__Impl_in_rule__ConstMap__Group_1_1__013646 = new BitSet(new long[]{0x0040000000000000L});
    public static final BitSet FOLLOW_rule__ConstMap__Group_1_1__1_in_rule__ConstMap__Group_1_1__013649 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConstMap__V1Assignment_1_1_0_in_rule__ConstMap__Group_1_1__0__Impl13676 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConstMap__Group_1_1__1__Impl_in_rule__ConstMap__Group_1_1__113706 = new BitSet(new long[]{0x80000400600081F0L});
    public static final BitSet FOLLOW_rule__ConstMap__Group_1_1__2_in_rule__ConstMap__Group_1_1__113709 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_54_in_rule__ConstMap__Group_1_1__1__Impl13737 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConstMap__Group_1_1__2__Impl_in_rule__ConstMap__Group_1_1__213768 = new BitSet(new long[]{0x00000000000C0000L});
    public static final BitSet FOLLOW_rule__ConstMap__Group_1_1__3_in_rule__ConstMap__Group_1_1__213771 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConstMap__V2Assignment_1_1_2_in_rule__ConstMap__Group_1_1__2__Impl13798 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConstMap__Group_1_1__3__Impl_in_rule__ConstMap__Group_1_1__313828 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleListSeparator_in_rule__ConstMap__Group_1_1__3__Impl13856 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group__0__Impl_in_rule__QualifiedName__Group__013895 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group__1_in_rule__QualifiedName__Group__013898 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__QualifiedName__Group__0__Impl13925 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group__1__Impl_in_rule__QualifiedName__Group__113954 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group_1__0_in_rule__QualifiedName__Group__1__Impl13981 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000001L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group_1__0__Impl_in_rule__QualifiedName__Group_1__014016 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group_1__1_in_rule__QualifiedName__Group_1__014019 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_64_in_rule__QualifiedName__Group_1__0__Impl14047 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group_1__1__Impl_in_rule__QualifiedName__Group_1__114078 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__QualifiedName__Group_1__1__Impl14105 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleHeader_in_rule__Thrift__HeadersAssignment_014143 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDefinition_in_rule__Thrift__DefinitionsAssignment_114174 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Include__ImportURIAssignment_114205 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__CppInclude__ImportURIAssignment_114236 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Namespace__NamespaceScopeAlternatives_0_1_0_0_in_rule__Namespace__NamespaceScopeAssignment_0_1_014267 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_rule__Namespace__NamespaceURIAssignment_0_1_114300 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Namespace__NamespaceURIAssignment_1_114331 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Namespace__NamespaceURIAssignment_2_114362 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFieldType_in_rule__Const__TypeAssignment_114393 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Const__NameAssignment_214424 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConstValue_in_rule__Const__ValueAssignment_414455 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDefinitionType_in_rule__TypeDef__TypeAssignment_114486 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAnnotation_in_rule__TypeDef__AnnotationAssignment_214517 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__TypeDef__NameAssignment_314548 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAnnotationElement_in_rule__Annotation__ElementsAssignment_114579 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAnnotationElement_in_rule__Annotation__ElementsAssignment_2_114610 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_rule__AnnotationElement__NameAssignment_014641 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__AnnotationElement__ValueAssignment_214672 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Enum__NameAssignment_114703 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEnumElement_in_rule__Enum__ElementsAssignment_314734 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__EnumElement__NameAssignment_014765 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_LONG_in_rule__EnumElement__ValueAssignment_1_114796 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Senum__NameAssignment_114827 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Senum__ElementsAssignment_3_014858 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Struct__NameAssignment_114889 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleField_in_rule__Struct__FieldsAssignment_414920 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAnnotation_in_rule__Struct__AnnotationAssignment_614951 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Union__NameAssignment_114982 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleField_in_rule__Union__FieldsAssignment_415013 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAnnotation_in_rule__Union__AnnotationAssignment_615044 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Exception__NameAssignment_115075 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleField_in_rule__Exception__FieldsAssignment_315106 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Service__NameAssignment_115137 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleServiceRef_in_rule__Service__SuperTypeAssignment_2_115168 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFunction_in_rule__Service__FunctionsAssignment_415199 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_rule__ServiceRef__ServiceAssignment15234 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFieldID_in_rule__Field__FieldIdAssignment_015269 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFieldReq_in_rule__Field__FieldReqAssignment_115300 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFieldType_in_rule__Field__TypeAssignment_215331 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Field__NameAssignment_315362 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConstValue_in_rule__Field__ValueAssignment_4_115393 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAnnotation_in_rule__Field__AnnotationAssignment_515424 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleField_in_rule__Field__FieldsAssignment_6_2_215455 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFunctionType_in_rule__Function__FunctionTypeAssignment_015486 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Function__NameAssignment_115517 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleField_in_rule__Function__FieldsAssignment_315548 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleThrows_in_rule__Function__ThrowsDeclAssignment_515579 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_65_in_rule__FunctionType__OnewayAssignment_0_015615 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_66_in_rule__FunctionType__TypeAssignment_0_115659 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleThrowsField_in_rule__Throws__FieldsAssignment_215698 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleThrowsField_in_rule__Throws__FieldsAssignment_3_115729 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFieldID_in_rule__ThrowsField__FieldIdAssignment_015760 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__ThrowsField__TypeAssignment_115795 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__ThrowsField__NameAssignment_215830 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCppType_in_rule__MapType__CppTypeAssignment_115861 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFieldType_in_rule__MapType__MapType1Assignment_315892 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAnnotation_in_rule__MapType__MapType1AnnotationAssignment_415923 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFieldType_in_rule__MapType__MapType2Assignment_615954 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAnnotation_in_rule__MapType__MapType2AnnotationAssignment_715985 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCppType_in_rule__SetType__CppTypeAssignment_116016 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFieldType_in_rule__SetType__SetTypeAssignment_316047 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAnnotation_in_rule__SetType__SetTypeAnnotationAssignment_416078 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFieldType_in_rule__ListType__ListTypeAssignment_216109 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAnnotation_in_rule__ListType__ListTypeAnnotationAssignment_316140 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCppType_in_rule__ListType__CppTypeAssignment_516171 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBaseType_in_rule__BaseTypeRef__BasicTypeAssignment16202 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleContainerType_in_rule__ContainerTypeRef__ContainerTypeAssignment16233 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_rule__DefinitionRef__DefinitionAssignment16268 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_HEX_in_rule__HexRef__HexAssignment16303 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_LONG_in_rule__LongRef__LongAssignment16334 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_DOUBLE_in_rule__DoubleRef__DoubleAssignment16365 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBOOL_in_rule__BooleanRef__BooleanAssignment16396 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__StringRef__StringAssignment16427 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_63_in_rule__ConstList__ValueAssignment_0_016463 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConstValue_in_rule__ConstList__ListAssignment_1_1_016502 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_42_in_rule__ConstMap__ValueAssignment_0_016538 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConstValue_in_rule__ConstMap__V1Assignment_1_1_016577 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConstValue_in_rule__ConstMap__V2Assignment_1_1_216608 = new BitSet(new long[]{0x0000000000000002L});

}